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

Объяснение кода листинга программы

  1. константа N = 8 - размерность матрицы по вертикали
  2. константа M = 8 - размерность матрицы по горизонтали
  3. тип item_t = double - тип элемента матрицы
  4. тип line_t = array[1..M] of item_t - тип строкового массива элементов
  5. тип tabl_t = array[1..N] of line_t - тип таблицы (двумерного массива)
  6. переменная s - таблица, в которую записываются случайные числа от -100 до 100
  7. переменная i - счетчик для цикла
  8. переменная c - счетчик для цикла
  9. переменная sX - координата по горизонтали
  10. переменная x - координата по горизонтали
  11. переменная y - координата по вертикали
  12. переменная mY - координата строки с максимальным элементом
  13. переменная max - максимальный элемент матрицы
  14. генерация случайных элементов от -100 до 100 для матрицы s
  15. вывод матрицы s
  16. разделительная строка
  17. инициализация переменных mY = 1, max = s[1][1], y = 2, x = 2
  18. поиск строки с максимальным элементом
  19. вывод строки с максимальным элементом
  20. упорядочивание элементов выбранной строки по убыванию
  21. вывод упорядоченной матрицы s

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


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

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

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