В каждом столбце матрицы поменять местами последний и максимальный элемент - Pascal
Формулировка задачи:
В каждом столбце матрицы поменять местами последний и максимальный элемент.
Решение задачи: «В каждом столбце матрицы поменять местами последний и максимальный элемент»
textual
Листинг программы
const n=5;m=7;
var i,j,tmp,max: integer;
a:array [1..n,1..m] of integer;
begin
writeln('A:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=-5+random(16);
write(a[i,j]:4)
end;
writeln
end;
for j:=1 to m do
begin
max:=1;
for i:=2 to n-1 do if a[i,j]>a[max,j] then max:=i;
tmp:=a[n,j];a[n,j]:=a[max,j];a[max,j]:=tmp;
end;
writeln('A:''');
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:4);
writeln
end;
end.
Объяснение кода листинга программы
- Объявляется константа
nсо значением 5 иmсо значением 7. - Объявляются переменные:
i,j,tmp,maxтипа integer. - Объявляется двумерный массив
aразмером n строк на m столбцов, содержащий целочисленные значения. - Выполняется вывод строки
A:. - Происходит заполнение матрицы
aслучайными числами от -5 до 10. - Выполняется вывод матрицы
a. - Происходит проход по каждому столбцу.
- Ищется индекс строки, содержащий максимальное значение в столбце.
- Последний элемент и максимальный элемент в столбце меняются местами.
- Выполняется вывод строки
A:. - Происходит вывод матрицы
a. Этот код создает и заполняет матрицу случайными числами, затем меняет местами последний элемент и максимальный элемент в каждом столбце, и в конце выводит полученную матрицу.