|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.10.2007, 15:36 | #11 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
a:=a/abs(a);
b:=b/abs(b); c:=c/abs(c); d:=d/abs(d); s:=a+b+c+d; k:=(s+4)/2; Устроит?
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
18.10.2007, 17:41 | #12 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
Alex21: если они не знают операторов if то им явно не рассказывали обработку исключительных ситуаций. Но скорее всего ты прав. Еще вариант анализировать тип, но это тоже не для месяца программирования
|
18.10.2007, 17:44 | #13 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
такой алгоритм ноль нормально воспримет count:=0; n:=(a+abs(a))*2; count:=count + n div (n-1); n:=(b+abs(b))*2; count:=count + n div (n-1); n:=(c+abs(c))*2; count:=count + n div (n-1); n:=(d+abs(d))*2; count:=count + n div (n-1); writeln(count); он же с небольшим отличием count:=0; n:=a+abs(a); count:=count + round(n /(n+1)); n:=b+abs(b); count:=count + round(n /(n+1)); n:=c+abs(c); count:=count + round(n /(n+1)); n:=d+abs(d); count:=count + round(n /(n+1)); writeln(count);
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 18.10.2007 в 17:51. |
|
18.10.2007, 18:15 | #14 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
#13, а если среди чисел 0.5 будет
|
18.10.2007, 20:09 | #15 |
Пользователь
Регистрация: 18.10.2007
Сообщений: 21
|
Спасибо большое!
Во всяком случае завтра обязательно спрошу, могут ли по условию числа быть равными нулю. А пока буду думать что делать с нулями (если они все таки там могут быть ). |
19.10.2007, 07:14 | #16 | |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
Цитата:
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
|
19.10.2007, 09:12 | #17 |
Пользователь
Регистрация: 18.10.2007
Сообщений: 21
|
Еще раз огромное спасибо!!!
Там у него была для некоторых заданий сноска (для чисел не равных нулю). Так что решено |
19.10.2007, 09:33 | #18 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Линейные алгоритмы наверное самые сложные, поскольку из всех инструментов программирования можно использовать только один - собственные мозги.
Попробуй такой алгоритм: Переменные A,B,C,D,x1,x2.x3,x4,сумма,количеств о положительных; 1.Ввести A,B,C,D; 2.x1:=A/abs(A); аналогично для B,C,D;при делении получается либо 1, либо -1. 3.сумма:=x1+x2+x3+x4; получается варианты 4(все +),2(3+),0(2+), -2(1+),-4(0+); 4.количество положительных:=(сумма+4)/2; Код напишете сами. Если выберете тип переменных integer, то вместо знака деления div. |
19.10.2007, 10:57 | #19 | |
Пользователь
Регистрация: 18.10.2007
Сообщений: 21
|
Цитата:
Единственное "но" - возможное деление на ноль. Выяснилось, что эта задача давалась для чисел отличных от нуля. Но все-таки интересно, можно ли ее решить при нулевых значениях??? |
|
19.10.2007, 12:24 | #20 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Можно. Ноль за не отрицательное число считать?
Life is too short, play more...
Как правильно задавать вопросы |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не простая задача !!! | MaxZoa | Microsoft Office Excel | 2 | 06.03.2008 18:07 |
простая задача по строковым переменным | STEEL-F | Помощь студентам | 6 | 21.01.2008 22:32 |
Простая и в то же время сложная задача | fiveelement | Microsoft Office Excel | 1 | 28.10.2007 21:03 |
Простая задача | utyyf | Помощь студентам | 25 | 18.10.2007 14:50 |