Столбец с максимальным по модулю элементом в k-й строке переставить с k-й строкой - Pascal ABC
Формулировка задачи:
Заданы матрица размером (NxN) и число k (1<=k<=N). Столбец с максимальным по модулю элементом в k-й строке переставить с k-й строкой(ЯП Pascal ABC)
Решение задачи: «Столбец с максимальным по модулю элементом в k-й строке переставить с k-й строкой»
textual
Листинг программы
program task( input, output ); const n = 3; type rows = 1..n; matrix = array [ rows, rows ] of integer; var a: matrix; k, maxindex: integer; procedure readmatrix( var a: matrix ); var i, j: rows; begin for i := 1 to n do for j := 1 to n do read( a[ i, j ] ); end; procedure writematrix( var a: matrix ); var i, j: rows; begin for i := 1 to n do begin for j := 1 to n do write( a[ i, j ], ' ' ); writeln; end; end; function findmaxindex( var a: matrix; k: integer ): integer; var i, max, maxindex: integer; begin max := a[ k, 1 ]; maxindex := 1; for i := 2 to n do if a[ k, i ] > max then begin max := a[ k, i ]; maxindex:= i; end; findmaxindex := maxindex; end; procedure swap( var m,n: integer ); var k: integer; begin k := m; m := n; n := k; end; procedure swaprow( var a: matrix; k,m: integer ); var i: rows; begin for i := 1 to n do swap( a[ k, i ], a[ i, m ] ); end; begin writeln( 'Enter square matrix of order ', n, ' :' ); readmatrix( a ); repeat writeln( 'Enter natural number k, 1 <= k <= ', n, ' :' ); read( k ); until ( k > 0 ) and ( k < n + 1 ); maxindex := findmaxindex( a, k ); swaprow( a, k, maxindex ); writematrix( a ); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д