Дана матрица В[N,M].найти в каждой строке матрицы максимальный и минимальный элемент и поменять их местами с первым и последним элементом строки соответственно.(Паскаль)
Answers & Comments
danulpopov
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):= ReadInteger2('n, m -> '); var a:= MatrRandom(m,n);Writeln('Исходная матрица:');a.Println; dec(n);dec(m);for var i:= 0 to m do begin swap(a[i, a.Row(i).IndexMin],a[i, n]); swap(a[i, a.Row(i).IndexMax],a[i, 0]); end; Writeln('Конечная матрица:'); a.Print end.
Answers & Comments
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):= ReadInteger2('n, m -> ');
var a:= MatrRandom(m,n);Writeln('Исходная матрица:');a.Println;
dec(n);dec(m);for var i:= 0 to m do
begin
swap(a[i, a.Row(i).IndexMin],a[i, n]);
swap(a[i, a.Row(i).IndexMax],a[i, 0]);
end;
Writeln('Конечная матрица:');
a.Print
end.
Пример:
n, m -> 5 6
Исходная матрица:
99 9 30 83 11
89 13 70 50 54
43 59 22 13 89
67 27 48 72 41
63 62 5 58 71
45 35 60 3 95
Конечная матрица:
99 11 30 83 9
89 54 70 50 13
89 59 22 43 13
72 41 48 67 27
71 62 63 58 5
95 35 60 45 3