Программа
PROGRAM Chage;
CONST Power=5; { Размерность матрицы (количество строк и столбцов) }
TYPE Matrix=array [1..Power,1..Power] of real; { Тип - матрица }
VAR A:Matrix; { Матрица }
PROCEDURE InputMatrix (var B:Matrix); { Процедура ввода матрицы }
Var i,j:word; { Счетчики }
Begin
for i:=1 to Power do { Цикл ввода строк матрицы }
for j:=1 to Power do { Цикл ввода элементов матрицы }
begin
Write('Введите элемент [',i,',',j,'] ');
{ Вывод приглашения ввести элемент матрицы }
ReadLn(B[i,j]) { Ввод элемента матрицы }
end
End;
PROCEDURE OutputMatrix (B:Matrix); { Процедура вывода матрицы }
Var i,j:word; { Счетчики }
Begin
for i:=1 to Power do { Цикл вывода строк матрицы }
begin
for j:=1 to Power do { Цикл вывода элементов матрицы }
Write (B[i,j]:5:1,' '); { Вывод элемента матрицы }
WriteLn { Вывод конца строки }
end
End;
PROCEDURE Process (var B:Matrix); { Процедура просмотра матрицы }
Var i,j:word; { Счетчики }
MaxInd:word; { Индекс максимального элемента в строке матрицы }
Buf:real; { Буферная переменная для переноса элементов массива }
Begin
for i:=1 to Power do { Цикл просмотра строк }
begin
MaxInd:=1; { Начальное определение индекса максимального элемента }
for j:=2 to Power do { Цикл поиска максимального элемента в строке }
if B[i,MaxInd]<B[i,j] then MaxInd:=j;
{ Обмен элементов массива: }
Buf:=B[i,i];
B[i,i]:=B[i,MaxInd];
B[i,MaxInd]:=Buf
end
End;
BEGIN
WriteLn; { Пропуск строки }
InputMatrix(A); { Ввод матрицы }
WriteLn; { Пропуск строки }
WriteLn(' Исходная матрица: '); { Вывод заголовка }
OutputMatrix(A); { Вывод матрицы }
Process(A); { Обработка матрицы }
WriteLn; { Пропуск строки }
WriteLn(' Полученная матрица: '); { Вывод заголовка }
OutputMatrix(A); { Вывод матрицы }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию