Найти среднее арифметическое элементов каждого из столбцов квадратной матрицы - Pascal

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Найти среднее арифметическое элементов каждого из столбцов квадратной матрицы»

textual
Листинг программы
Модуль.
 
unit matrica;
interface
uses crt;
const n=3;
type
mas=array[1..n] of integer;{тип массив-строки матрицы}
matr=array[1..n] of mas;{матрица-массив строк}
function Sred(m:mas):real;
procedure Vvod(var m:matr);
procedure Trans(var m:matr);
implementation
function Sred(m:mas):real;{вычисление среднего в массиве}
var i,sr:integer;
begin
sr:=0;
for i:=1 to n do
sr:=sr+m[i];
Sred:=sr/n;
end;
procedure Vvod(var m:matr);{ввод матрицы с клавиатуры}
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
 begin
  write('el[',i,',',j,']=');
  readln(m[i,j]);
 end;
clrscr;
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(m[i,j]:4);
  writeln;
 end;
end;
procedure Trans(var m:matr);{транспонирование матрицы, чтоб столбцы стали строками}
var i,j,x:integer;
begin
for i:=1 to n do
for j:=1 to n do
if i<j then
 begin
  x:=m[i,j];
  m[i,j]:=m[j,i];
  m[j,i]:=x;
 end;
end;
end.
 
Программа.
 
uses crt,matrica;
var a:matr;
    i,j,x:integer;
begin
clrscr;
Vvod(a);{ввод матрицы}
Trans(a);{транспонирование}
for i:=1 to n do {по порядку столбцов(которые сейчас строки)}
writeln('Среднее арифметическое в столбце ',i,'=',Sred(a[i]):0:2);{считаем среднее}
readln
end.

Объяснение кода листинга программы

  1. Модуль matrica содержит описание задачи и объявление переменных и функций для работы с матрицей.
  2. В функции Sred(m:mas):real; вычисляется среднее арифметическое элементов массива m.
  3. В процедуре Vvod(var m:matr); происходит ввод матрицы с клавиатуры.
  4. В процедуре Trans(var m:matr); происходит транспонирование матрицы, чтоб столбцы стали строками.
  5. В основной программе вводятся и выводятся значения матрицы, производится транспонирование и вычисляется среднее арифметическое для каждого столбца.
  6. Среднее арифметическое выводится на экран.

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы