Столбец с максимальным по модулю элементом в 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы