Pascal. Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали в этой же строке
Вот пример решения задачи на языке программирования Pascal:
program maxElementExchange; const N = 3; type matrix = array [1..N, 1..N] of integer; var A: matrix; i, j, max, maxIndex: integer; procedure exchange(var A: matrix; i: integer); var j, max, maxIndex: integer; begin max := A[i, 1]; maxIndex := 1; for j := 2 to N do begin if A[i, j] > max then begin max := A[i, j]; maxIndex := j; end; end; // Обмен элементов A[i, maxIndex] := A[i, i]; A[i, i] := max; end; begin // Ввод матрицы writeln('Введите элементы матрицы:'); for i := 1 to N do for j := 1 to N do readln(A[i, j]); // Поиск наибольшего элемента в каждой строке и обмен for i := 1 to N do exchange(A, i); // Вывод измененной матрицы writeln('Измененная матрица:'); for i := 1 to N do begin for j := 1 to N do write(A[i, j], ' '); writeln; end; end.
Эта программа запрашивает у пользователя элементы квадратной матрицы размером 3x3, затем находит наибольший элемент в каждой строке и меняет его местами с элементом главной диагонали. В конце программа выводит измененную матрицу.
Вот пример решения задачи на языке программирования Pascal:
program maxElementExchange;const
N = 3;
type
matrix = array [1..N, 1..N] of integer;
var
A: matrix;
i, j, max, maxIndex: integer;
procedure exchange(var A: matrix; i: integer);
var
j, max, maxIndex: integer;
begin
max := A[i, 1];
maxIndex := 1;
for j := 2 to N do
begin
if A[i, j] > max then
begin
max := A[i, j];
maxIndex := j;
end;
end;
// Обмен элементов
A[i, maxIndex] := A[i, i];
A[i, i] := max;
end;
begin
// Ввод матрицы
writeln('Введите элементы матрицы:');
for i := 1 to N do
for j := 1 to N do
readln(A[i, j]);
// Поиск наибольшего элемента в каждой строке и обмен
for i := 1 to N do
exchange(A, i);
// Вывод измененной матрицы
writeln('Измененная матрица:');
for i := 1 to N do
begin
for j := 1 to N do
write(A[i, j], ' ');
writeln;
end;
end.
Эта программа запрашивает у пользователя элементы квадратной матрицы размером 3x3, затем находит наибольший элемент в каждой строке и меняет его местами с элементом главной диагонали. В конце программа выводит измененную матрицу.