Vladimir_S
Ученик
- Регистрация
- 27 Авг 2008
- Сообщения
- 27,807
- Реакции
- 1,025
- Баллы
- 0
Черт - этого только недоставало! У меня, естественно, работает безупречно и никаких ошибок не выдает. Так что это глюки вашего Паскаля. Бывает.После ввода числа столбцов и строк выдаёт ошибку Error 215: Arithmetic overflow.
А заменять Random(100)-50 на Random(100)+50 или просто Random(100) (+0 - абсолютно бессмысленная запись) не годится, ведь важно, чтобы матрица содержала как положительные, так и отрицательные числа.
Попробуйте такой вариант:
Код:
VAR
A:Array[1..20,1..15] of Integer;
Sum,i,j,D:Integer;
N,M,NMpos:Byte;
BEGIN
Write('Number of rows (<20)= ');
ReadLn(N);
Write('Number of columns (<15)= ');
ReadLn(M);
Randomize;
For i:=1 to N do
For j:=1 to M do
begin
D:=Random(100);
A[i,j]:=D-50;
end;
WriteLn('Initial matrix:');
For i:=1 to N do
begin
For j:=1 to M do
Write(A[i,j]:5);
WriteLn;
end;
WriteLn('Press "Enter" to continue');
ReadLn;
WriteLn('Result of calculation:');
For i:=1 to N do
begin
Sum:=0;
NMpos:=0;
For j:=1 to M do
begin
Sum:=Sum+A[i,j];
If A[i,j]>0 then Inc(NMpos);
end;
WriteLn(Sum:7,NMpos:4);
end;
WriteLn;
ReadLn;
END.