Дана матрица. Упорядочить по возрастанию ненулевые элементы ее нижней половины - Pascal

Узнай цену своей работы

Формулировка задачи:

Не выходит отсортировать элементы нижнего основания, помогите пожалуйста

Решение задачи: «Дана матрица. Упорядочить по возрастанию ненулевые элементы ее нижней половины»

textual
Листинг программы
const n=7;
var a:array[0..n-1,0..n-1] of integer; //для удобства определения индекса элемента
    i,j,t,s,k,m,x:integer;
begin
randomize;
writeln('Исходная матрица');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
   begin
    a[i,j]:=10+random(90);
    write(a[i,j]:3);
   end;
  writeln;
 end;
k:=n*n-1;//количество элементов
for i:=0 to k-1 do
for j:=i+1 to k do
if (i mod n<i div n)and(j mod n<j div n)and(a[i div n,i mod n]>a[j div n,j mod n]) then
 begin
  x:=a[i div n,i mod n];
  a[i div n,i mod n]:=a[j div n,j mod n];
  a[j div n,j mod n]:=x;
 end;
writeln('Сортировка по возрастанию ниже побочной диагонали');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
  write(a[i,j]:3);
  writeln;
 end;
end.

Объяснение кода листинга программы

  1. Объявляются переменные: n, a, i, j, t, s, k, m, x (строки 1-3)
  2. Инициализируются значения переменных: n = 7, a = матрица 7x7 целых чисел, i, j, t, s, k, m, x = 0 (строки 4-14)
  3. Выводится сообщение Исходная матрица и исходная матрица 7x7 (строки 15-16)
  4. Вычисляется количество элементов матрицы, которое будет использоваться в циклах (строка 17)
  5. Запускается два вложенных цикла, в которых выполняется сортировка элементов матрицы по возрастанию (строки 18-29)
  6. Выводится сообщение Сортировка по возрастанию ниже побочной диагонали и отсортированная матрица (строки 30-31)
  7. Код завершается (строка 32)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.6 из 5
Похожие ответы