Свое задание делать что-то не хочется , так что вот:
| Код | program MatrixColumnAverageArithmetic; uses crt; const N=5;{размерность матрицы} type TMatrix=array[1..N,1..N] of integer;{описание типа матрицы целых чисел} procedure InputMatrix(var Matrix:TMatrix); {процедура ввода матрицы} var i,j:integer;{i,j - счетчики} begin for i:=1 to N do{для каждой строки матрицы} begin for j:=1 to N-1 do{для каждого столбца матрицы, кроме последнего} read(Matrix[i,j]);{читаем очередной элемент строки матрицы} readln(Matrix[i,N]);{читаем последний элемент строки матрицы с переходом на следующую строку} end; end; procedure PrintMatrix(var Matrix:TMatrix); {процедура печати матрицы} var i,j:integer;{i,j - счетчики} begin for i:=1 to N do{для каждой строки матрицы} begin for j:=1 to N-1 do{для каждого элемента строки, кроме последнего} write(Matrix[i,j],' ');{печать эллемента строки с отступом} writeln(Matrix[i,N]);{печать последнего элемента с переходом на следующую строку} end; end; procedure CreateRandomMatrix(var Matrix:TMatrix;min,max:integer); {процедура заполнения матрицы случайными значениями в диапазоне от min до max} var i,j,tmp:integer;{i,j - счетчики, tmp - вспомогательная переменная для обмена} begin if(min>max) then{если вдруг минимальное значение больше максимального, то меняем их местами} begin tmp:=min;{запоминаем значение хранящееся в min} min:=max;{min присваиваем max} max:=tmp;{max присваиваем ранее запомненное в min} end; for i:=1 to N do{для каждой строки матрицы} for j:=1 to N do{для каждого элемента строки матрицы} Matrix[i,j]:=min+random(max-min);{заполняем элемент случайным значением из требуемого диапазона} end; function GetAverageArithmeticOfColumn(var Matrix:TMatrix;col:integer):real; {функция возвращает среднее арифметическое столбца col матрицы Matrix} var i:integer;{счетчик} sum:real;{сумма элементов столбца} begin sum:=0;{инициализация суммы} for i:=1 to N do{для каждой строки матрицы} sum:=sum+Matrix[i,col];{суммируем с очередным элементом столбца col} GetAverageArithmeticOfColumn:=sum/N;{среднее арифметическое равно частному суммы элементов и кол-ва этих элементов} end;
var col:integer;{номер столбца для ввода} Matrix:TMatrix;{матрица} begin randomize;{инициализация генератора случайных чисел} clrscr;{очистка экрана} writeln('Пожалуйста введите матрицу(',N,'x',N,'):'); InputMatrix(Matrix);{ввод матрицы} { CreateRandomMatrix(Matrix,-100,100);} writeln('Исходная матрица:'); PrintMatrix(Matrix);{печать исходной матрицы} writeln('Пожалуйста введите номер столбца для вычисления среднего арифметического:'); readln(col);{чтение номера столбца} {печать результата} writeln('Среднее арифметическое столбца = ',GetAverageArithmeticOfColumn(Matrix,col):4:5); readln;{ожидание ввода} end.
|
|