Арифметическое переполнение при решении матрицы - Turbo Pascal

Формулировка задачи:

if a[i,j]>0 then p:=p*a[i,j]; выдает ошибку арифметическое переполнение.
uses crt;
var a:array[1..10,1..10] of integer;
n,m,k,p,s,i,j: integer;
begin clrscr;
p:=1;
writeln('кол-во строк '); readln(n);
writeln('кол-во столбцов'); readln(m);
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(10)+1;
write(a[i,j]:4); end;
writeln; end;
for i:=1 to n do
for j:=1 to m do begin
if a[i,j]>a[1,1] then s:=s+a[i,j]; k:=k+1;
if a[i,j]>0 then p:=p*a[i,j];  end;
writeln('S=',s);
writeln('K=',k);
writeln('P=',p);
readkey;
 
end.

Код к задаче: «Арифметическое переполнение при решении матрицы - Turbo Pascal»

textual
var p:real;
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

11   голосов, оценка 4.182 из 5


СДЕЛАЙТЕ РЕПОСТ
Похожие ответы