Repeat
...
Until MapM[XE, YE] >0;
Цикл на Pascal
Код:
Код:
Repeat
...
Until (X = XS) and (Y = YS);
...
Until (X = XS) and (Y = YS);
Цитата:
Originally posted by denxx
Помогите перевести циклs с паскаля на c++(на с++ должен быть цикл for(;;)), а то я паскаль плохо знаю :-(.
Помогите перевести циклs с паскаля на c++(на с++ должен быть цикл for(;;)), а то я паскаль плохо знаю :-(.
Код:
Repeat
...
Until MapM[XE, YE] >0;
...
Until MapM[XE, YE] >0;
Код:
Repeat
...
Until (X = XS) and (Y = YS);
...
Until (X = XS) and (Y = YS);
А я c++ плохо знаю (можно сказать вообще незнаю)...
Но мне кажется repeat в for не переведшь
Вот как в pascal работает цикл repeat:
Repeat
Выполнять то, что находится здесь...
Until MapM[XE, YE] >0; пока не выполниться это условие...
т.е. как только MapM[XE, YE] станет больше 0 - цикл прекратится
Код:
do
{
...
...
}while(MapM[XE][YE]<=0);
do
{
...
...
}while((X!=XS) || (Y!=YS));
{
...
...
}while(MapM[XE][YE]<=0);
do
{
...
...
}while((X!=XS) || (Y!=YS));
Цитата:
Originally posted by denxx
Помогите перевести циклs с паскаля на c++(на с++ должен быть цикл for(;;)), а то я паскаль плохо знаю :-(.
Помогите перевести циклs с паскаля на c++(на с++ должен быть цикл for(;;)), а то я паскаль плохо знаю :-(.
Код:
Repeat
...
Until MapM[XE, YE] >0;
...
Until MapM[XE, YE] >0;
Код:
Repeat
...
Until (X = XS) and (Y = YS);
...
Until (X = XS) and (Y = YS);
Это, конечно, изврат - из репита в фор переводить, но раз надо, то так:
Код:
for(MapM[XE][YE]=0;MapM[XE][YE]<=0; )
...
// MapM[XE][YE]=0 нужно для того, чтобы цикл отработал хотя бы один раз, как repeat
// Аналогично второй
for(X=XS-1;(X!=XS || Y!=YS); )
...
...
// MapM[XE][YE]=0 нужно для того, чтобы цикл отработал хотя бы один раз, как repeat
// Аналогично второй
for(X=XS-1;(X!=XS || Y!=YS); )
...
Огромное спасибо всем за помощь!!!