Дана вещественная матрица. Упорядочить ее строки по неубыванию их наибольших элементов - 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.

  1. Сначала объявляются константы, типы данных и переменные.
  2. Затем выполняется инициализация матрицы случайными значениями.
  3. Матрица выводится на экран.
  4. После этого начинается сортировка строк матрицы по неубыванию их наибольших элементов методом пузырька.
  5. Отсортированная матрица выводится на экран.
  6. В конце программы выполняется очистка памяти.

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


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

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

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