Дан целочисленный двухмерный массив. Вывести координаты строки, в которой находится максимальный элемент массива, и отсортировать эту строку по возрастанию

Для откладки чисел элементы массива сформировать с помощью генератора случайных чисел.

code: #pascal
program PascalGuru;
var A:array[1..50,1..50] of integer;{объявление переменных}
    n,m,i,j,maxi,maxj,nn:integer;
    swop:boolean;
 
procedure exchange(var a,b:integer);{процедура обмена}
var c:integer;
begin
c:=a; a:=b; b:=c; end;{*** конец процедуры обмена}
{--------------------------------------}
 
 
begin
randomize;
write('N= '); readln(n);  {ввод кол-ва строк}
write('M= '); readln(m);  {ввод кол-ва столбцов}
 
for i:=1 to n do
for j:=1 to m do  A[i,j]:=(-3)+random(26); {заполнение элементов матрицы}
 
for i:=1 to n do begin writeln;
for j:=1 to m do write (A[i,j]:8);  end; { вывод матрицы на экран }
 
writeln;
writeln;
 
maxi:=1;{начальная координата MAX строки}
maxj:=1;{начальная координата MAX столбца}
 
for i:=1 to n do
for j:=1 to m do  {ниже вычисляем координаты MAX эл-та }
if A[i,j]>A[maxi,maxj] then begin maxi:=i; maxj:=j;  end;
 
writeln('Koordinaty MAX: A[',maxi,',',maxj,']'); {вывод MAX}
writeln;
 
nn:=m;{в дополнительную переменную записываем первоначальное кол-во столбцов}
repeat    {начало цикла сортировки}
swop:=false;
for i:=1 to nn-1 do
if A[maxi,i]>A[maxi,i+1] then begin {сортируем только НУЖНУЮ нам строку}
exchange(A[maxi,i],A[maxi,i+1]); swop:=true; end; {сортируем только НУЖНУЮ нам строку}
nn:=nn-1;
until not swop; {---конец цикла сортировки}
 
 
writeln('Stroka ',maxi,':');
for j:=1 to m do write (A[maxi,j]:8); {вывод отсортированной строки }
 
readln;
end.      
Поделиться:

Похожие статьи: