Помощь - Поиск - Пользователи - Календарь
Полная версия: Опять о номерах
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Новичок
Здравствуйте.
Помогите пожайлуста решить задачу
Дан массив. Определить количество элементов , больших суммы всех элементов массива и напечатать их номера
Задачу практически решил , но проблема с выводом номеров
program f293;
var a:array[1..5] of integer;
s,i,k:integer;
begin
s:=0; k:=0;
for i:=1 to 5 do begin
readln(a[i]);s:=s+a[i];
end;
for i:=1 to 5 do begin
if a[i]>s then k:=k+1;writeln (i);
end;
writeln(k);
end.


Тэги!! Lapp.
volvo
Цитата
проблема с выводом номеров
Заметь, та же самая, что и в самом первом твоем вопросе... Ты опять забыл, что надо добавить begin/end, чтоб по условию выполнялось несколько действий, а не одно... У тебя сейчас печатаются все индексы, а не только те, что нужны, так?
Новичок
Да забыл операторные скобки, хорошо попробую сейчас с ними

Добавлено через 4 мин.
Скажите в каком месте их поставить, в
проверке условия в цикле , но там ведь идёт подсчёт основного действия в массивах
for i:=1 to 5 do begin
if a[i]>s then k:=k+1;writeln (i);
end;
writeln(k);


Тэги!! Lapp.
volvo
Цитата
но там ведь идёт подсчёт основного действия в массивах
Основная задача твоей программы - найти количество элементов, удовлетворяющих определенному условию, и вывести их индексы (этих же элементов, удовлетворяющих тому же самому условию, заметь) на печать... То есть, по условию делается ДВА действия: увеличивается счетчик и выводится индекс...
Archon
Новичок, операторные скобки могут быть вложенными:
for i:=1 to 5 do begin
if a[i]>s then begin
k:=k+1;
writeln (i);
end;
end;
writeln(k);
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.