В чем ошибка? Двумерные массивы. Задание:
В матрице А(5,6) найти среднее арифметическое всех элементов, удовлетворяющих условию: Вывести на печать матрицу А и среднее арифметическое значение. (pascal)
Программа:
const n = 5; m = 6;
var A: array [1..n,1..m] of integer;
i, j, sum, k: integer;
sr:real;
begin
randomize;
writeln('Массив A: ');
for i:= 1 to n do
begin
for j:= 1 to m do
begin
A[i, j] := random(101) - 50;
write(A[i, j]:3,' ');
if (A[i, j] >= -1) and (A[i, j] <= 1) then
end;
writeln;
end;
writeln;
sum := 0;
k := 0;
for i:= 1 to n do
for j:= 1 to m do
begin
sum:=sum+A[i, j];
inc(k);
sr:=sum/k;
if (k > -1) then
writeln('Среднее = ', sr:2:2)
else
writeln('Таких чисел нет');
readln;
end;
end.
много, где ошибки... должно быть так:
Объяснение:
const
n = 5;
m = 6;
var
A: array [1..n, 1..m] of integer;
i, j, sum, k: integer;
sr: real;
begin
randomize;
sum := 0;
k := 0;
writeln('Массив A: ');
for i := 1 to n do
begin
for j := 1 to m do
begin
A[i, j] := random(20) - 10;
write(A[i, j]:3, ' ');
if (A[i, j] >= -1) and (A[i, j] <= 1) then
begin
sum := sum + A[i, j];
inc(k);
end;
end;
writeln;
end;
writeln;
if (k > 0) then
begin
sr := sum / k;
writeln('Среднее = ', sr:2:2)
end
else
writeln('Таких чисел нет');
end.