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