Разработайте универсальную подпрограмму, определяющую среднее арифметическое элементов в...

0 голосов
48 просмотров

Разработайте универсальную подпрограмму, определяющую среднее арифметическое элементов в столбце С матрицы размером n×m элементов. Поместите подпрограмму в модуль. Разработайте тестирующую программу.

(Freepascal)


Информатика (182 баллов) | 48 просмотров
Дан 1 ответ
0 голосов

//Модуль подключается через uses

type Matrix = array of array of real;

var
  A: Matrix;
  n, m, i, j, C: byte;

procedure ArithMeanColumn(A: Matrix; C: integer);
var
  i: byte;
  ArithMean: real;
begin
  ArithMean := 0;
  for i := 0 to n - 1 do
    ArithMean := ArithMean + A[i, C - 1];

  ArithMean := ArithMean / C;
  writeln(ArithMean:10:3);
end;

begin
  write('Введите n: ');
  readln(n);
  write('Введите m: ');
  readln(m);
  SetLength(A, n, m);
  randomize;
  for i := 0 to n - 1 do
  begin
    for j := 0 to m - 1 do
    begin
      A[i, j] := random(10);
      write(A[i, j]:10:3);
    end;
    writeln;
  end;

  write('Введите C: ');
  readln(C);
  ArithMeanColumn(A, C);

  readln;
end.


image
(9.4k баллов)
0

Переделал.

0

// Программа
uses CustomA;
var
A: Matrix;
n, m, i, j, C: byte;
begin
write('Введите n: ');
readln(n);
write('Введите m: ');
readln(m);
SetLength(A, n, m);
randomize;
for i := 0 to n - 1 do
begin
for j := 0 to m - 1 do
begin
A[i, j] := random(10);
write(A[i, j]:10:3);
end;
writeln;
end;
write('Введите C: ');
readln(C);
AMC(A, C);
readln;
end.

0

// Модуль
unit CustomA;
interface
type
Matrix = array of array of real;
procedure AMC(A: Matrix; C: integer);
implementation
procedure AMC;
var
i: byte;
AM: real;
begin
AM := 0;
for i := 0 to Length(A) - 1 do
AM := AM + A[i, C - 1];
AM := AM / Length(A);
writeln(AM:10:3);
end;
end.