Найти среднее арифметическое элементов каждого из столбцов квадратной матрицы - 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.
Объяснение кода листинга программы
- Модуль matrica содержит описание задачи и объявление переменных и функций для работы с матрицей.
- В функции Sred(m:mas):real; вычисляется среднее арифметическое элементов массива m.
- В процедуре Vvod(var m:matr); происходит ввод матрицы с клавиатуры.
- В процедуре Trans(var m:matr); происходит транспонирование матрицы, чтоб столбцы стали строками.
- В основной программе вводятся и выводятся значения матрицы, производится транспонирование и вычисляется среднее арифметическое для каждого столбца.
- Среднее арифметическое выводится на экран.