Информатика. PascalABC. Прошу помочь написать программы: 1. Дана последовательность...

0 голосов
47 просмотров

Информатика. PascalABC.

Прошу помочь написать программы:

1. Дана последовательность чисел С1, С2, ..., С18. Найти произведение элементов этой последовательности до первого нулевого и сумму элементов, расположенных после него.

2. Из массива a1, a2, ..., a30 исключить максимальный элемент.

Желательно с пояснениями, заранее спасибо!


Информатика (14 баллов) | 47 просмотров
0

Подобные условия задач, по-моему, придумывают оторванные от реальности люди. По первой задаче: а) а если нулевой элемент так и не встретится? б) какой тип элементов и какой диапазон данных? О переполнении разрядной сетки помним? По второй задаче: что технически значит "исключить"? Исключить a25 - что будет с элементами a25.. a30? a26-a30 сдвинутся на места a25..a29? А что в a30 будет? Не сдвинутся? А что будет на месте a25?

Дан 1 ответ
0 голосов

Var C:Array[1..18] of integer; i,p,s,k:integer;beginp:=1;for i:=1 to 18 do beginC[i]:= random(10)-5;write(C[i]:4);if C[i] = 0 then k:= 1;if k = 0 then p:= p * C[i]else s:= s + C[i];end;writeln;write('Произведение = ',p , ' Сумма = ',s);end.

var C:Array[1..30] of integer; i,max,q:integer;beginfor i:=1 to 30 do beginC[i]:= random(100)-50;write(C[i]:4);if C[i] > max then begin max:= C[i];q:=i;end;end;writeln;C[q]:= 0;for i:=1 to 30 dowrite(C[i]:4);end.

(6.5k баллов)