Как выполнить что-то в цикле только 1 раз
От:
Аноним
Дата: 13.11.03 15:45
Оценка:
Пример
for ( <произвольные условия цикла>)
{
.............
if ( < условие_истинно_только_один_раз_per_loop > )
{
doSomthing();
}
.............
}
Конечно можно перед циклом переменную объявить — это понятно.
А еще какой-нибудь способ есть ?
Re: Как выполнить что-то в цикле только 1 раз
Здравствуйте, Аноним, Вы писали:
for ( int i = 0, doSomthing(); i < N; i++) {
.............
}
GS
Re[2]: Как выполнить что-то в цикле только 1 раз
От:
Аноним
Дата: 13.11.03 15:59
Оценка:
Здравствуйте, George Seryakov, Вы писали:
GS>Здравствуйте, Аноним, Вы писали:
GS>
GS>for ( int i = 0, doSomthing(); i < N; i++) {
GS> .............
GS>}
GS>
По некоторым соображениям я не могу засунуть doSomthing() в тело цикла т.к. иногда это не один вызов, а целый блок { ... }
Re[2]: Как выполнить что-то в цикле только 1 раз
От:
Sergey
Дата: 13.11.03 16:19
Оценка:
Hello, George!
You wrote on Thu, 13 Nov 2003 15:51:03 GMT:
GS>
GS> for ( int i = 0, doSomthing(); i < N; i++) {
GS> .............
GS> }
GS>
Это не эквивалентно выполнению doSomthing() в теле цикла, поскольку doSomthing() вызовется до проверки условия i < N
Best regards,
Sergey.
Posted via RSDN NNTP Server 1.8 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: Как выполнить что-то в цикле только 1 раз
А>А еще какой-нибудь способ есть ?
break не подойдет?
Re: Как выполнить что-то в цикле только 1 раз
Здравствуйте, Аноним, Вы писали:
А> Пример
А>
А> for ( <произвольные условия цикла>)
А> {
А> .............
А> if ( < условие_истинно_только_один_раз_per_loop > )
А> {
А> doSomthing();
А> }
А> .............
А> }
А>
А>Конечно можно перед циклом переменную объявить — это понятно.
А>А еще какой-нибудь способ есть ?
if ( <произвольные условия цикла> )
{
doSomthing();
do
{
//next;
} while( <произвольные условия цикла> )
}
Re[3]: Как выполнить что-то в цикле только 1 раз
Здравствуйте, <Аноним>, Вы писали:
А>По некоторым соображениям я не могу засунуть doSomthing() в тело цикла т.к. иногда это не один вызов, а целый блок { ... }
Выдели в отдельную функциию и засунь.
... << RSDN@Home 1.1 beta 2 >>
Re[2]: Как выполнить что-то в цикле только 1 раз
От:
Аноним
Дата: 14.11.03 07:46
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:
А>>А еще какой-нибудь способ есть ?
АШ>break не подойдет?
break вывалится из цикла совсем — это не то т.к. остальные действия в цикле надо N раз повторять.
Re[2]: Как выполнить что-то в цикле только 1 раз
От:
Аноним
Дата: 14.11.03 07:51
Оценка:
Здравствуйте, shura_mam, Вы писали:
2 раза условия цикла проверять — не есть гут т.к. они могут быть достаточно сложными.
_>_> if ( <произвольные условия цикла> )
_> {
_> doSomthing();
_> do
_> {
_> //next;
_> } while( <произвольные условия цикла> )
_> }
_>
Re: Как выполнить что-то в цикле только 1 раз
От:
Аноним
Дата: 14.11.03 07:59
Оценка:
-1
Здравствуйте, Аноним, Вы писали:
А> Пример
А>
А> for ( <произвольные условия цикла>)
А> {
А> .............
А> if ( < условие_истинно_только_один_раз_per_loop > )
А> {
А> doSomthing();
А> }
А> .............
А> }
А>
А>Конечно можно перед циклом переменную объявить — это понятно.
А>А еще какой-нибудь способ есть ?
Придумал вот что.
for ( <произвольные условия цикла>)
{
.............
if ( static bool bOnce = true ; )
{
doSomthing();
bOnce = false ;
}
.............
}
Однако при следующем вызове этой же функции bOnce == false, и if не выполнится (((
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить