В строке матрицы с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию - Pascal
Формулировка задачи:
Дана матрица А(8,8) действительных чисел. Требуется в строке, с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию.
Решение задачи: «В строке матрицы с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию»
textual
Листинг программы
- const N = 8;
- const M = 8;
- type item_t = double;
- type line_t = array[1..M] of item_t;
- type tabl_t = array[1..N] of line_t;
- var
- s: tabl_t;
- i,c,sX,x,y,mY: integer;
- max: item_t;
- begin
- for y:=1 to N do
- for x:=1 to M do
- s[y][x] := random(-100 , 100);
- for y:= 1 to N do begin
- for x:= 1 to M do
- write(s[y][x] :5);
- writeln;
- end;
- Writeln('-------------------------------');
- mY := 1;
- max := s[1][1];
- y := 2;
- x := 2;
- while( (y <= N) AND (x <= M) ) do begin
- if s[y][x] > max then begin
- mY := y;
- max := s[y][x];
- end;
- y := y + 1;
- x := x + 1;
- end;
- writeln( 'Max y: ' , mY );
- for x:=1 to M-1 do
- for sX:= M downto x+1 do begin
- if s[mY][x] < s[mY][sX] then begin
- max := s[mY][x];
- s[mY][x] := s[mY][sX];
- s[mY][sX] := max;
- end;
- end;
- for y:= 1 to N do begin
- for x:= 1 to M do
- write(s[y][x] :5);
- writeln;
- end;
- end.
Объяснение кода листинга программы
- константа
N
= 8 - размерность матрицы по вертикали - константа
M
= 8 - размерность матрицы по горизонтали - тип
item_t
= double - тип элемента матрицы - тип
line_t
= array[1..M] of item_t - тип строкового массива элементов - тип
tabl_t
= array[1..N] of line_t - тип таблицы (двумерного массива) - переменная
s
- таблица, в которую записываются случайные числа от -100 до 100 - переменная
i
- счетчик для цикла - переменная
c
- счетчик для цикла - переменная
sX
- координата по горизонтали - переменная
x
- координата по горизонтали - переменная
y
- координата по вертикали - переменная
mY
- координата строки с максимальным элементом - переменная
max
- максимальный элемент матрицы - генерация случайных элементов от -100 до 100 для матрицы
s
- вывод матрицы
s
- разделительная строка
- инициализация переменных
mY
= 1,max
= s[1][1],y
= 2,x
= 2 - поиск строки с максимальным элементом
- вывод строки с максимальным элементом
- упорядочивание элементов выбранной строки по убыванию
- вывод упорядоченной матрицы
s
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д