Дана матрица A[1..n,1..m] целых чисел. Напишите программу, которая переставит строки матрицы А таким образом, чтобы элементы последнего столбца стали упорядоченными в убывающем порядке. Для упорядочивания использовать метод сортировки посредством выбора и не использовать дополнительную матрицу. Измененную матрицу вывести на экран.
Федосеев Павел
14.02.2017 5:01
program test;
const n = 5; m = 4; type TMatrix = array[1..n, 1..m] of integer;
procedure ShowMatrix(const A: TMatrix; n, m: integer); var i, j: integer; begin for i := 1 to n do begin for j := 1 to m do Write(A[i, j]: 4); writeln; end; end;
procedure Sort(var A: TMatrix; n, m: integer); var i, j, k, min: integer; temp: integer; begin for i := 1 to n do begin min := i; for j := i + 1 to n do if A[i, m] < A[j, m] then min := j; for k := 1 to m do begin temp := A[i, k]; A[i, k] := A[min, k]; A[min, k] := temp; end; end; end;
var i, j: integer; A: TMatrix; begin randomize; for i := 1 to n do for j := 1 to m do A[i, j] := random(100); ShowMatrix(A, n, m); writeln; Sort(A, n, m); ShowMatrix(A, n, m); end.
Onyx_007
14.02.2017 19:42
Огромное спасибо )
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.