Дана вещественная матрица. Упорядочить ее строки по неубыванию их наибольших элементов - Turbo Pascal
Формулировка задачи:
Здравствуйте, помогите пожалуйста решить эту задачу в 4 разных условиях.
Дана вещественная матрица. Упорядочить ее строки по неубыванию их наибольших элементов.
Матрицы следует разместить в "куче" при выполнении следующих условий:
а) число строк и число столбцов - константы;
б) число строк - константа, а число столбцов - исходное данное;
в) число строк - исходное данное, число столбцов - константа;
г) число строк и число столбцов - исходные данные.
Решение задачи: «Дана вещественная матрица. Упорядочить ее строки по неубыванию их наибольших элементов»
textual
Листинг программы
const m=6; n=6; W=6; D=1; type TElement = Real; PArray = ^TArray; TArray = array [0..n-1] of TElement; PMatrix = ^TMatrix; TMatrix = array [0..m-1] of PArray; var i, j, ni: Integer; mx, t: TElement; a: PMatrix; b, p: PArray; begin Randomize; { распределение памяти } New(b); New(a); for i:=0 to m-1 do New(a^[i]); { инициализация } for i:=0 to m-1 do begin t:=Random(1000)/10; a^[i]^[0]:=t; mx:=t; for j:=1 to n-1 do begin t:=Random(1000)/10; a^[i]^[j]:=t; if mx<t then mx:=t; end; b^[i]:=mx; end; { вывод } WriteLn('A ='); for i:=0 to m-1 do begin for j:=0 to n-1 do Write(a^[i]^[j]:W:D); WriteLn(' |',b^[i]:W:D); end; { сортировка пузырьком } ni:=m-1; repeat i:=ni; ni:=0; for j:=0 to i-1 do if b^[j+1]<b^[j] then begin p:=a^[j+1]; a^[j+1]:=a^[j]; a^[j]:=p; t:=b^[j+1]; b^[j+1]:=b^[j]; b^[j]:=t; ni:=j; end; until ni=0; { вывод } WriteLn('A''='); for i:=0 to m-1 do begin for j:=0 to n-1 do Write(a^[i]^[j]:W:D); WriteLn(' |',b^[i]:W:D); end; { очистка памяти } for i:=0 to m-1 do Dispose(a^[i]); Dispose(a); Dispose(b); end.
Объяснение кода листинга программы
В этом коде представлена реализация задачи на языке программирования Turbo Pascal.
- Сначала объявляются константы, типы данных и переменные.
- Затем выполняется инициализация матрицы случайными значениями.
- Матрица выводится на экран.
- После этого начинается сортировка строк матрицы по неубыванию их наибольших элементов методом
пузырька
. - Отсортированная матрица выводится на экран.
- В конце программы выполняется очистка памяти.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д