Предмет: Информатика,
автор: Mellon969
дан целочисленный массив А [n].Определить произведение элементов массива с k1 по k2 (k2>k1)
Ответы
Автор ответа:
0
const m=200;
var a: array[1..m] of integer;
i,k1,k2,p,n: integer;
begin
write('количество элементов массива: ');
readln(n);
randomize;
write('массив: ');
for i:=1 to n do
begin
a[i]:=random(-40,40);
write(a[i],' ');
end;
writeln;
write('k1 k2 через пробел: '); readln(k1,k2);
p:=1;
if (k1 in [1..n]) and (k2 in [1..n]) and (k2>k1) then
begin
for i:=k1 to k2 do p:=p*a[i];
writeln('произведение: ',p);
end
else writeln('недопустимые значения k1 и k2 ',k1,' ',k2);
end.
количество элементов массива: 10
массив: 18 -40 5 -5 -22 -1 -3 22 -11 37
k1 k2 через пробел: 3 5
произведение: 550
var a: array[1..m] of integer;
i,k1,k2,p,n: integer;
begin
write('количество элементов массива: ');
readln(n);
randomize;
write('массив: ');
for i:=1 to n do
begin
a[i]:=random(-40,40);
write(a[i],' ');
end;
writeln;
write('k1 k2 через пробел: '); readln(k1,k2);
p:=1;
if (k1 in [1..n]) and (k2 in [1..n]) and (k2>k1) then
begin
for i:=k1 to k2 do p:=p*a[i];
writeln('произведение: ',p);
end
else writeln('недопустимые значения k1 и k2 ',k1,' ',k2);
end.
количество элементов массива: 10
массив: 18 -40 5 -5 -22 -1 -3 22 -11 37
k1 k2 через пробел: 3 5
произведение: 550
Автор ответа:
0
Увы, но Ваша программа безбожно врет для произведения, превышающего примерно 10^9. Вот пример:
Автор ответа:
0
количество элементов массива: 50
массив: -16 35 12 -22 -3 -21 -25 -30 -22 -24 20 -8 28 -14 -30 3 39 -39 -39 37 18 -13 3 15 -24 -33 -38 15 34 -19 11 11 0 24 -23 36 10 -14 -24 15 -28 18 -23 19 1 30 19 -1 -3 11
k1 k2 через пробел: 2 30
произведение: 1031798784
На самом деле получается 140324246854047585932698032537600000000
массив: -16 35 12 -22 -3 -21 -25 -30 -22 -24 20 -8 28 -14 -30 3 39 -39 -39 37 18 -13 3 15 -24 -33 -38 15 34 -19 11 11 0 24 -23 36 10 -14 -24 15 -28 18 -23 19 1 30 19 -1 -3 11
k1 k2 через пробел: 2 30
произведение: 1031798784
На самом деле получается 140324246854047585932698032537600000000
Автор ответа:
0
Если Ваша программа не рассчитана на такие большие числа, зачем было закладывать размерность массива до 200 ?
Похожие вопросы
Предмет: Биология,
автор: Darki0uz
Предмет: Математика,
автор: noranike7
Предмет: Право,
автор: valavladr
Предмет: Математика,
автор: viktoriyadurno