В чем ошибка? Двумерные массивы. Задание:

В матрице А(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.

darya1122334455667 darya1122334455667    3   13.04.2020 18:18    1

Ответы
Soffa6110 Soffa6110  13.10.2020 04:30

много, где ошибки... должно быть так:

Объяснение:

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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика