Цикл оформленный нижеприведенным образом не только поможет вашему коду выглядеть более профессионально, но еще и заставит 'break' и 'continue' в теле цикла работать одинаково (при условии совпадения условий). Разумеется, при этом следует использовать в теле цикла как 'break', так и 'continue', изо всех сил делая вид, что в выборе того или другого есть какая-то логика (например, снабжать их комментариями типа '/* здесь — именно 'break', а не 'continue'!!! */').
do while (<условие>) {
/* тело цикла */
} while (<условие>);
18.02.07 14:10: Перенесено из 'C/C++'
Best regards,
Андрей Тарасевич
Re: Замысловатый цикл (любителям Duff's Device и т.п.)
От:
Аноним
Дата:
16.02.07 07:25
Оценка:
Здравствуйте, Андрей Тарасевич, Вы писали:
АТ>
АТ>do while (<условие>) {
АТ> /* тело цикла */
АТ>} while (<условие>);
АТ>
Фигасе. А если условия разные? Тогда break и continue будут работать по-разному. Сразу и не сообразишь...
А разве после do не требуется скобка даже если в цикле один оператор?
Re[2]: Замысловатый цикл (любителям Duff's Device и т.п.)
АТ>>do while (<условие>) {
АТ>> /* тело цикла */
АТ>>} while (<условие>);
АТ>>
А>Фигасе. А если условия разные? Тогда break и continue будут работать по-разному. Сразу и не сообразишь... А>А разве после do не требуется скобка даже если в цикле один оператор?
Нет, не требуется.
Best regards,
Андрей Тарасевич
Re[2]: Замысловатый цикл (любителям Duff's Device и т.п.)
Здравствуйте, jazzer, Вы писали:
J>Здравствуйте, Аноним, Вы писали:
А>>А разве после do не требуется скобка даже если в цикле один оператор? J>Не требуется. J>Можно вообще вот так написать: J>
J>int main()
J>{
J> do while (1==0) do while (2==0);
J> while (3==0); while (4==0);
J>}
J>
J>)
Только надо ли ?
С уважением, Владислав Полищук
Re: Замысловатый цикл (любителям Duff's Device и т.п.)
Здравствуйте, Андрей Тарасевич, Вы писали:
КД>>Тарасевич обкурился! КД>>Довели человека
АТ>По мотивам известного анекдота:
АТ>... АТ>- Так ведь он не курит!!! АТ>- Закуришь тут, когда даже константы времени компиляции, оказывается, могут менять свои значения.
Ну, в военное время, может происходить что угодно. Даже значение синуса может достигать четырех.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[3]: Замысловатый цикл (любителям Duff's Device и т.п.)
АТ>По мотивам известного анекдота:
АТ>... АТ>- Так ведь он не курит!!! АТ>- Закуришь тут, когда даже константы времени компиляции, оказывается, могут менять свои значения.
АТ>
так вроде уже выяснили что это баги компиляторов
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Замысловатый цикл (любителям Duff's Device и т.п.)
On Sat, 17 Feb 2007 13:01:49 +0500, Коваленко Дмитрий <84@users.rsdn.ru>
wrote:
> Ну, в военное время, может происходить что угодно. Даже значение синуса > может достигать четырех.
не надо войны! даже в мирное время sin(x)=4 имеет решение
x=1.570796327-2.063437069*I. если надо, выражу и в радикалах и
элементарных функциях.
Здравствуйте, Megabyte, Вы писали:
>> Ну, в военное время, может происходить что угодно. Даже значение синуса >> может достигать четырех.
M>не надо войны! даже в мирное время sin(x)=4 имеет решение M>x=1.570796327-2.063437069*I. если надо, выражу и в радикалах и M>элементарных функциях.
Если бы у меня был моск — он бы закипел. А так — "папа, с кем это ты сейчас говорил?"
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[5]: Замысловатый цикл (любителям Duff's Device и т.п.)
Здравствуйте, Megabyte, Вы писали:
>> Ну, в военное время, может происходить что угодно. Даже значение синуса >> может достигать четырех.
M>не надо войны! даже в мирное время sin(x)=4 имеет решение M>x=1.570796327-2.063437069*I. если надо, выражу и в радикалах и M>элементарных функциях.
Я протестую. в данном случае я так понимаю |sin(x)|=4, что является модулем синуса.
P.S. А можно в ради калах?
Всегда Ваш, PSP.
Re[6]: Замысловатый цикл (любителям Duff's Device и т.п.)
Здравствуйте, PSP, Вы писали:
M>>не надо войны! даже в мирное время sin(x)=4 имеет решение M>>x=1.570796327-2.063437069*I. если надо, выражу и в радикалах и M>>элементарных функциях.
PSP>Я протестую. в данном случае я так понимаю |sin(x)|=4, что является модулем синуса.
Нет, именно что сам синус...
PSP>P.S. А можно в ради калах?
Арксинус в радикалах плохо выражается... Но попробую, когда увижу выражение arcsin (1/4) через пи и радикалы.
Re[7]: Замысловатый цикл (любителям Duff's Device и т.п.)
Здравствуйте, raskin, Вы писали:
M>>>не надо войны! даже в мирное время sin(x)=4 имеет решение M>>>x=1.570796327-2.063437069*I. если надо, выражу и в радикалах и M>>>элементарных функциях.
PSP>>P.S. А можно в ради калах? R>Арксинус в радикалах плохо выражается... Но попробую, когда увижу выражение arcsin (1/4) через пи и радикалы.
да, в радикалах не удастся. только в элементарных функциях.
sin(x) = -1/2 * I * (exp(x*I)-exp(-x*I)) = 4
exp(x*I)-exp(-x*I) = -8/I
let exp(x*I) = u
u — 1/u = -8/I
u =/= 0
u^2 — 1 = -8*u/I
u = I*(4+-sqrt(15))
exp(x*I) = I*(4+-sqrt(15))
x = -I*ln(I*(4+-sqrt(15)
Re[4]: Замысловатый цикл (любителям Duff's Device и т.п.)
Здравствуйте, Megabyte, Вы писали:
M>On Sat, 17 Feb 2007 13:01:49 +0500, Коваленко Дмитрий <84@users.rsdn.ru> M>wrote:
>> Ну, в военное время, может происходить что угодно. Даже значение синуса >> может достигать четырех.
M>не надо войны! даже в мирное время sin(x)=4 имеет решение M>x=1.570796327-2.063437069*I. если надо, выражу и в радикалах и M>элементарных функциях.
Давай!
--
То, что вы уникальны еще не значит, что от вас есть толк