Найти все самые нижние максимальные элементы по столбцам матрицы - PascalABC.NET
Формулировка задачи:
Дана матрица размерностью NM, состоящая из натуральных чисел. Найти все
самые нижние максимальные элементы по столбцам и вывести их значение и
местоположение на экран (оформить в виде процедуры). Вычислить среднее
арифметическое элементов нижней строки (оформить в виде функции). Записать в
текстовый файл элементы нижней строки
Решение задачи: «Найти все самые нижние максимальные элементы по столбцам матрицы»
textual
Листинг программы
type mtr=array[,]of integer; procedure max(a:mtr;n,m:integer); var i,j,mx,imx:integer; begin writeln('Последние максимальные столбцов'); for j:=0 to m-1 do begin mx:=a[0,j]; imx:=1; for i:=0 to n-1 do if a[i,j]>=mx then begin mx:=a[i,j]; imx:=i+1; end; writeln('положение=[',imx,',',j+1,'] значение=',mx); end; end; function sred(a:mtr;n,m:integer):real; var j:integer; begin result:=0; for j:=0 to m-1 do result:=result+a[n-1,j]; result:=result/m; end; var a:mtr; m,n,i,j:integer; f:text; begin randomize; writeln('Введите размеры матрицы'); readln(n,m); setlength(a,n,m); for i:=0 to n-1 do begin for j:=0 to m-1 do begin a[i,j]:=random(6); write(a[i,j]:3); end; writeln; end; max(a,n,m); writeln('Среднее арифметическое последней строки=',sred(a,n,m):0:2); assign(f,'stroka.txt'); rewrite(f); for j:=0 to m-1 do write(f,a[n-1,j]:3); writeln('Последняя строка матрицы записана в файл stroka.txt'); close(f); end.
Объяснение кода листинга программы
- Тип переменной
mtr
объявлен как массивarray[,]of integer
, который представляет собой двумерный массив целых чисел. - В процедуре
max
перебираются все элементы матрицы, начиная с первого столбца, и ищутся максимальные значения в каждом столбце. - Переменная
mx
инициализируется значением первого элемента первого столбца, а переменнаяimx
инициализируется значением 1. - Переменная
imx
хранит позицию последнего найденного максимального элемента. - Переменная
mx
обновляется, если текущий элемент больше текущего максимального значения. - Переменная
imx
обновляется, если текущий элемент имеет большее максимальное значение. - После завершения цикла, выводится сообщение с положением и значением последнего максимального элемента.
- В функции
sred
перебираются все элементы последнего столбца матрицы и суммируются. - Результат делится на количество элементов, чтобы получить среднее арифметическое.
- Переменная
f
объявлена как текстовый файл, который будет использоваться для записи последней строки матрицы. - В цикле перебираются все элементы последнего столбца матрицы и записываются в файл.
- После завершения цикла, выводится сообщение о том, что последняя строка матрицы записана в файл
stroka.txt
. - Файл
f
закрывается с помощью функцииclose
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д