Отсортировать по возрастанию элементы главной диагонали матрицы - Pascal ABC
Формулировка задачи:
Ввести элементы массива К, состоящего из 3 строк и 3 столбцов. Отсортировать по возрастанию элементы главной диагонали матрицы методом пузырькового всплытия. Отсортированный массив вывести на экран в виде таблицы.
ПОМОГИТЕ!!!
Решение задачи: «Отсортировать по возрастанию элементы главной диагонали матрицы»
textual
Листинг программы
uses crt; const n=3; var K: array [1..n,1..n] of integer; i,j,r,x,y: integer; begin writeln('Введите элементы массива, целые числа'); for i:=1 to n do for j:=1 to n do begin write('K[',i,',',j,']='); readln(K[i,j]); end; clrscr; writeln ('Исходный массив'); for i:=1 to n do begin for j:=1 to n do write(K[i,j]:6); {Вывод массива} writeln; end; for x:=1 to n-1 do for j:=1 to n-1 do if K[j,j]>K[j+1,j+1] then begin r:= K[j,j]; K[j,j]:=K[j+1,j+1]; K[j+1,j+1]:=r; end; writeln ('Сортировка главной диагонали'); for i:=1 to n do begin for j:=1 to n do write(K[i,j]:6); {Вывод массива} writeln; end; end.
Объяснение кода листинга программы
- В первой части кода пользователю предлагается ввести элементы массива K, которые являются целыми числами. Для этого используется цикл for, который выполняется n (количество строк) раз, где n - это константа, равная 3 в данном случае.
- Во второй части кода выводится исходный массив K. Для этого также используется цикл for, который выполняется n (количество строк) раз. Внутри цикла каждая строка массива выводится отдельно с помощью функции write.
- Затем происходит сортировка главной диагонали матрицы K. Для этого также используются два вложенных цикла for. Первый цикл идет по строкам, а второй - по столбцам. Если элемент в текущей ячейке главной диагонали больше элемента в следующей ячейке, то значения меняются местами.
- Наконец, выводится отсортированная главная диагональ матрицы K.