Дан целочисленный двухмерный массив. Вывести координаты строки, в которой находится максимальный элемент массива, и отсортировать эту строку по возрастанию
Категория: Delphi/Pascal
2012-01-15 22:00:08
Для откладки чисел элементы массива сформировать с помощью генератора случайных чисел.
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.
Поделиться: