Форум: "Потрепаться";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];
ВнизСижу примус починяю никого не трогаю Найти похожие ветки
← →
Oleg_Gashev (2002-04-23 20:37) [0]И вдруг шедевр вижу. Ну точно первое место.
Вот как надо писать:
if (!my_function(.......)) return false;
Интерестно, кто его обойдет...
← →
Malder (2002-04-23 20:45) [1]Только я не понял ничего. Что это такое ? И что надо oбойти ?
← →
drpass (2002-04-23 20:50) [2]Бывало и так: после долгих и мучительных раздумий, делать ли инкремент переменной i, и придя к выводу, что все-таки не делать, получалось...
i:=i;
← →
drpass (2002-04-23 21:31) [3]>Malder
А чего там понимать?
if (!my_function(.......)) return false
А на трезкую голову люди пишут просто return my_function();
← →
Doom (2002-04-23 21:35) [4]
> drpass © (23.04.02 21:31)
Одно из другого не следует однозначно.
← →
Oleg_Gashev (2002-04-23 21:38) [5]Просто return my_function(); не напишешь. Если my_function(.......) выхода не должно быть.
← →
Oleg_Gashev (2002-04-23 21:44) [6]Просто return my_function(); не напишешь. Если my_function(.......)=true выхода не должно быть.
← →
Anatoly Podgoretsky (2002-04-23 22:09) [7]Это Олег вам проверку на сообразительность устроил :-)
Эквиваленит в Паскале следующий:
if not my_function then begin
Result := False;
Exit;
end;
//продолдение работы функции, если my_function = True
...
Result := True/False;
← →
Oleg_Gashev (2002-04-23 22:14) [8]:)
Ну если так, тогда скажите, можно ли:
int S=0;
for (int i=0;i<100;i++)
{
if (my_function(i)<0) return S;
S+=my_function(i);
};
return S;
← →
Anatoly Podgoretsky (2002-04-23 22:28) [9]Ну я не такой большой специалист по Ц и не могу так сказать, можно ли выходить изнутри цикла, если можно то все нормально, очень похоже на подсчет каких то сум и функция my_function возвращает признак прекращения(ошибки) в виде отрицательного числа. Но еще раз подчеркиваю, что мои знания здесь сильно ограничены.
← →
VuDZ (2002-04-23 22:34) [10]можно, если осторожно :>
но лучше типа
int s = 0, t = 0;
for (int i = 0; i < 100; ++i){
if ((t = my_func(i)) < 0)
return s;
s += t;
}
return s;
я вчера одному челу делал дз по инфоматике, они типа указатели проходили, вышло привмерно такое:
int * pSome = &someArray;
int *result; // in function declaration
int i = 0xBADF00D; // :>
*result = *result * *pSome + *(pSome+offset) * *result * i;
ясный пень, что такой код оттолкнёт любого узачюещего С, но ведь краcиво и понятно :>
← →
Oleg_Gashev (2002-04-23 22:37) [11]VuDZ:
Правильно, два бала за ответ.
← →
VuDZ (2002-04-23 22:38) [12]по 50 бальной системе? :>
← →
Oleg_Gashev (2002-04-23 22:40) [13]Даю два часа на размышление:)
← →
VuDZ (2002-04-23 22:41) [14]а потом ещё один WTC взорвёте?
← →
VuDZ (2002-04-23 22:44) [15]если пошла такая пьянка:
int s = 0, i = 0;
while (rand() > 0)
s += rand(), i++;
return s;
← →
Oleg_Gashev (2002-04-23 22:48) [16]?????????
rand всегда больше 0 и ошибка в третьей строке. А i зачем плюсуется?
← →
VuDZ (2002-04-23 22:49) [17]млин, да просто написал rand(), это не принципиально, замени на my_foo(i) и всё
← →
Oleg_Gashev (2002-04-23 22:51) [18]А i зачем плюсуется? Его нет в While.
← →
VuDZ (2002-04-23 22:52) [19]млин, тогда так:
int s = 0, i = 0;
while (foo(i) > 0)
s += foo(i), i++;
retur s;
так ги де ошибка в ентой 3 строке?
не красиво - да, но ошибки нет
← →
Oleg_Gashev (2002-04-23 22:57) [20]Суммирование проводится пока i<100.
← →
VuDZ (2002-04-23 23:05) [21]и?
в общем-то хватило бы напиать и первой строки, но раз уж думать не хочеться:
int s = 0, i = 0;
while ((foo(i) > 0) && (i < 100))
s += foo(i), i++;
return s;
← →
Oleg_Gashev (2002-04-23 23:13) [22]Ура!!!
четверку дам за ответ. Есть одно но:
Нас условие foo(i)=0 удовлетворяет, а у Вас на него выход.
Поэтому так:
int k,s = 0, i = 0;
while (((k=foo(i)) >= 0)&& (i<100))
s += k, i++;
cout<<s;
return s;
← →
Oleg_Gashev (2002-04-23 23:14) [23]
int k,s = 0, i = 0;
while (((k=foo(i)) >= 0)&& (i<100))
s += k, i++;
return s;
← →
VuDZ (2002-04-23 23:18) [24]млин, уважаемый, я вам привожу общую мысль, а не рабочий код, так что не надо ля-ля :>
а то в следующий раз на ARM"овском асме приведу пример или в его машинных кодах :>>
← →
VuDZ (2002-04-23 23:27) [25]просьба не обращать осо внимание на все мои ответы кроме кода :>
← →
Oleg_Gashev (2002-04-23 23:29) [26]No problem.
← →
Lusha (2002-04-24 14:17) [27]Oleg_Gashev © (23.04.02 22:14)
Простите, а break в Ц уже отменили? :)
← →
VuDZ (2002-04-24 15:19) [28]ага, постаносление Правительсва от 1 апреля сего года :>
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c