Дана квадратная матрица. Расположить отрицательные элементы побочной диагонали в порядке убывания
Категория: Delphi/Pascal
2012-01-15 22:04:43
Для откладки чисел элементы массива сформировать с помощью генератора случайных чисел.
code: #pascal
program PascalGuru; var A:array[1..100,1..100] of integer; {объявление матрицы} vector:array[1..100] of integer; {объявление вектора} n,nn,i,j: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); {ввод размера матрицы} for i:=1 to n do for j:=1 to n do A[i,j]:=(-90)+random(88); {заполнение элементов матрицы} for i:=1 to n do begin writeln; for j:=1 to n do write (A[i,j]:8); end; { вывод матрицы на экран } writeln; writeln; nn:=n; {в дополнительную переменную записываем первоначальный размер матрицы} repeat {начало цикла сортировки} swop:=false; for i:=1 to nn-1 do if A[i,n-i+1]>A[i+1,n-i] then begin {сортируем только побоч. диагональ} exchange(A[i,n-i+1],A[i+1,n-i]); swop:=true; end; {сортируем только побоч. диагональ} nn:=nn-1; until not swop; {---конец цикла сортировки} writeln('Otsortirovannaya:'); for i:=1 to n do begin writeln; for j:=1 to n do write (A[i,j]:8); end; { вывод отсортированой матрицы на экран } readln; end.
Поделиться: