Решение программы на турбо паскале
|
|
Sergo | Дата: Вторник, 21.10.2008, 16:45 | Сообщение # 1 |
Новичок
Группа: Пользователи
Сообщений: 1
Статус: Offline
| Решить задачу двумя способами, например, циклами и массивами Задача: даны натуральное число n целые числа А1,...,Аn. Получить сумму положительных и число отрицательных членов последовательности А1....Аn. Помогите очень надо!
|
|
| |
Van_der_Vlaad | Дата: Вторник, 21.10.2008, 22:59 | Сообщение # 2 |
Старый знакомый
Группа: Пользователи
Сообщений: 35
Статус: Offline
| итак, мой способ (я не гуру в паскале, поэтому лучше, если мое решение потом проверить кто то из модераторов) Code
var ,s,k,n:integer; a:array[1..n] of integer; begin readln(n); s:=0; k:=0; for i:=1 to n do readln(a[i]); for i:=1 to n do begin if a[i]>0 then s:=s+a[i]; if a[i]<o then k:=k+1; end; writeln(s,k); end.
Добавлено (21.10.2008, 15:59) --------------------------------------------- это при помощи массивов. а вот при помощи одних лишь циклов...то тут у меня большие сомнения по реализация такого решения
|
|
| |
Alexander | Дата: Вторник, 21.10.2008, 23:35 | Сообщение # 3 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Всё хорошо, только n надо объявлять в константах и не нужно читать его с клавиатуры. Очевидно, что лучше было использовать "else if"- это ускорит алгоритм, т.к. сравнивать заведомо положительное число с нулём не имеет смысла: Code for i:=1 to n do if a[i]>0 then Inc(s,a[i]) else if a[i]<0 then Inc(k);
Скажем дружно- нафиг нужно!
|
|
| |
Alexander | Дата: Вторник, 21.10.2008, 23:37 | Сообщение # 4 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (Van_der_Vlaad) а вот при помощи одних лишь циклов...то тут у меня большие сомнения по реализация такого решения Нельзя тут без массива обойтись- у нас по условию фиксированное, но всё же неизвестное количество переменных(n).
Скажем дружно- нафиг нужно!
|
|
| |
Van_der_Vlaad | Дата: Вторник, 21.10.2008, 23:50 | Сообщение # 5 |
Старый знакомый
Группа: Пользователи
Сообщений: 35
Статус: Offline
| насчет того что можно было использовать конструкцию else - я просто допускал возможность того, что будет например число 0. а про циклы, я все таки был прав, я очень долго силился понять как можно ввести при помощи цикла неизвестное кол-во чисел и все таки подумал что такое вряд ли получается)
|
|
| |
Alexander | Дата: Среда, 22.10.2008, 00:39 | Сообщение # 6 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (Van_der_Vlaad) насчет того что можно было использовать конструкцию else - я просто допускал возможность того, что будет например число 0. не "else", а "else if". Нуль я тоже учёл.
Скажем дружно- нафиг нужно!
|
|
| |
Seqular | Дата: Среда, 22.10.2008, 06:44 | Сообщение # 7 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Скажу свое слово: Решить задачу без массива не получится. Как уже сказал Alexander, число элементов у нас неизвестное. И нельзя его задавать во время выполнения. Только в константах.
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |