Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2010, 09:06   #1
gogy2
 
Регистрация: 22.11.2008
Сообщений: 8
По умолчанию Смысл выражения (с++)

Знаю c мягко скажем, поверхностно, не могу понять смысл выражения
....
{
for(Var0=Var1-Var2;

Var0; Var0--, Var3++) printf("%I64x ",Var3);
}
....
как это в pascal-e будет?
Понятно, что Var0 декркментируется, но каково условие цикла - Var0 = 0 ???
gogy2 вне форума Ответить с цитированием
Старый 07.11.2010, 10:04   #2
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

На делфи это примерно следующее:
Код:
Var0 := Var1-Var2;
while Var0<>0 do
begin
   writeln(Var3);
   dec(Var0);
   inc(Var3);
end;
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 07.11.2010, 10:07   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
for var0:=(var1-var2) downto var0 do begin
 write(var3);inc(var3);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.11.2010, 10:28   #4
gogy2
 
Регистрация: 22.11.2008
Сообщений: 8
По умолчанию Смысл выражения с++

Stilet
А разве так можно?
Цикл ведь никогда не будет выполнен. Или я не прав?
gogy2 вне форума Ответить с цитированием
Старый 07.11.2010, 10:43   #5
gogy2
 
Регистрация: 22.11.2008
Сообщений: 8
По умолчанию

russian-stalker
Правильно ли я понял, что слово Var0; в выражении (выделено)
....
{
for(Var0=Var1-Var2;

Var0; Var0--, Var3++) printf("%I64x ",Var3);
}
....

означает Var0 > 0; ?
gogy2 вне форума Ответить с цитированием
Старый 07.11.2010, 11:04   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Смысл выражения (с++)
С++?? А почему тогда тема в разделе Паскаль?
_-Re@l-_ вне форума Ответить с цитированием
Старый 07.11.2010, 11:14   #7
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Цитата:
Сообщение от gogy2 Посмотреть сообщение
russian-stalker
Правильно ли я понял, что слово Var0; в выражении (выделено)
....
{
for(Var0=Var1-Var2;

Var0; Var0--, Var3++) printf("%I64x ",Var3);
}
....

означает Var0 > 0; ?
Нет, это означает, что не равно нулю.
А у Stilet вроде все верно, так как, если память не изменяет, то в паскале у счетчика сначала устанавливается конечное значение, а потом уже рассчитывается начальное.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 07.11.2010, 11:23   #8
gogy2
 
Регистрация: 22.11.2008
Сообщений: 8
По умолчанию

_-Re@l-_
Вопрос касается трансляции кода с в pascal. Результат нужен на pascal.
Но... впрочем Вы правы... Выяснять смысл выражения с++ нужно было в соотв. разделе. Каюсь.
gogy2 вне форума Ответить с цитированием
Старый 07.11.2010, 11:47   #9
gogy2
 
Регистрация: 22.11.2008
Сообщений: 8
По умолчанию

russian-stalker
Да, Вы правы. Но до выполнения цикла необходимо чтобы Var0 была инициализирована нулевым значением (или хотя бы меньшим, чем var1-var2)
В приведенном Stilet примере этого нет, ну это меня и...
Кстати, в Вашем примере цикл всегда завершится при Var0 = 0, а в пимере Stilet число итераций равно (var1 - var2) - Var0. Как правильно?

Последний раз редактировалось gogy2; 07.11.2010 в 12:09.
gogy2 вне форума Ответить с цитированием
Старый 08.11.2010, 19:21   #10
gogy2
 
Регистрация: 22.11.2008
Сообщений: 8
По умолчанию

Все таки правильно так:
Var0 := Var1-Var2;
while Var0 > 0 do
begin
writeln(Var3);
dec(Var0);
inc(Var3);
end;
Спасибо всем, тему можно закрыть.
gogy2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Краткий смысл. В чем цель и смысл вашей жизни? grenles Свободное общение 20 13.09.2010 07:13
Неуловимый смысл vedro-compota Свободное общение 7 25.04.2010 20:07
Смысл констант Alex Cones Свободное общение 18 29.03.2010 10:09