Среднее арифметическое элементов матрицы - Из кода сделать процедуру - PascalABC.NET
Формулировка задачи:
Решение задачи: «Среднее арифметическое элементов матрицы - Из кода сделать процедуру»
textual
Листинг программы
var
n, m: integer;
procedure foo(n, m: integer);
var
i, j, s, k: integer;
sa: real;
t: array [1..100, 1..100] of integer;
begin
for i := 1 to n do
for j := 1 to m do
begin
write('t[', i, ',', j, ']=');
readln(t[i, j]);
end;
s := 0;
k := 0;
for i := 1 to n do
for j := 1 to m do
if t[i, j] <> 0 then
begin
s := s + t[i, j];
k := k + 1;
end;
sa := s / k;
writeln('Матрица');
for i := 1 to n do
begin
for j := 1 to m do
write(t[i, j], ' ');
writeln;
end;
writeln('Среднее арифметическое элементов матрицы = ', sa:2:2);
end;
begin
writeln('Введите n,m');
readln(n, m);
foo(n, m);
end.
Объяснение кода листинга программы
- Введенные значения n и m считываются из стандартного ввода
- Создается матрица t размером 100x100 для хранения значений элементов
- С помощью двух вложенных циклов считываются значения элементов матрицы t
- Переменная s инициализируется нулем, k инициализируется единицей
- Два вложенных цикла с условием проходят по всем элементам матрицы t. Если элемент не равен нулю, то он прибавляется к переменной s, а переменная k увеличивается на единицу.
- Переменная sa вычисляется как среднее арифметическое элементов матрицы t, используя значение k
- С помощью двух вложенных циклов выводятся все элементы матрицы t через пробел
- Выводится значение переменной sa
- Код завершается