Программа
CONST N=4; M=4; { Количество строк и столбцов матрицы }
TYPE Element=real; { Тип элементов матрицы }
Matrix=array [1..N,1..M] of Element; { Тип - матрица }
PROCEDURE Swap(var A,B:Element); { Процедура взаимного обмена }
Var Buf:Element; { Буфер переноса }
Begin
Buf:=A;
A:=B;
B:=Buf
End;
PROCEDURE SwopStringMatrix (var B:Matrix; String1, String2:word);
{ Процедура перестановки строк матрицы }
Var j:word; { Счетчик }
Begin
for j:=1 to M do { Цикл перестановки элементов матрицы }
Swap (B[String1,j],B[String2,j]) { Перестановка элемента }
End;
PROCEDURE ReadMatrix (var B:Matrix); { Процедура ввода матрицы }
Var i,j:word; { Счетчики }
Begin
for i:=1 to N do { Цикл ввода строк матрицы }
for j:=1 to M do { Цикл ввода элементов матрицы }
begin
Write('Введите элемент [',i,',',j,'] ');
{ Вывод приглашения ввести элемент матрицы }
ReadLn(B[i,j]); { Ввод элемента матрицы }
end
End;
PROCEDURE WriteMatrix (B:Matrix); { Процедура вывода матрицы }
Var i,j:word; { Счетчики }
Begin
for i:=1 to N do { Цикл вывода строк матрицы }
begin
for j:=1 to M do { Цикл вывода элементов матрицы }
Write (B[i,j]:5:2,' '); { Вывод элемента матрицы }
WriteLn { Вывод конца строки }
end
End;
PROCEDURE BubbleDownSortMatrix(var A:Matrix; Column:word);
{ Процедура сортировки матрицы по невозрастанию столбца }
Var i,j:word; { Счетчики }
Begin
for i:=1 to N-1 do { Цикл сортировки }
for j:=N downto i+1 do { Цикл "всплытия" пузырька }
if A[j-1,Column]<A[j,Column] { Критерий сортировки }
then SwopStringMatrix(A,j-1,j) { "Высплытие" - перестановка строк }
else;
End;
VAR A:Matrix;
BEGIN
WriteLn; { Пропуск строки }
WriteLn('ВВОД МАТРИЦЫ');
ReadMatrix(A); { Чтение матрицы }
WriteLn; { Пропуск строки }
WriteLn('ИСХОДНАЯ МАТРИЦА');
WriteMatrix(A); { Вывод матрицы }
WriteLn; { Пропуск строки }
BubbleDownSortMatrix(A,2); { Сортировка матрицы }
WriteLn; { Пропуск строки }
WriteLn('ОТСОРТИРОВАННАЯ МАТРИЦА');
WriteMatrix(A); { Вывод матрицы }
WriteLn; { Пропуск строки }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию