В одномерном массиве С(15) определить произведение и количество элементов, которые равны 30
Код (Pascal)
var
c: array[1..15] of integer;
i, k: integer;
pr: longint;
begin
for i:=1 to 15 do
read(c[i]);
pr:=1;
k:=0;
if c[i]=30 then
pr:=pr*3;
k:=k+1;
end;
if k=0 then pr:=0;
write(pr);
for i := 1 to k do write(0);
writeln(' ', k);
end.
Вам следовало бы использовать LongInt, ведь 30 может быть много.
Прошу прощения - давно не писал на паскале - в чём разница? Тут в худшем случае нам могут дать 15 тридцаток, и тогда придётся длинную арифметику писать. Или присмотреться к питону)
Ваша программа допускает максимум 3 числа 30, их произведение, 30³ = 27000. Четвертое число 30 даст 30⁴ = 810000, а в интежер влазит только 32767.
Спасибо, учту. Надеюсь, отправят на доработку.