В строке матрицы с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию - Pascal

Узнай цену своей работы

Формулировка задачи:

Дана матрица А(8,8) действительных чисел. Требуется в строке, с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию.

Решение задачи: «В строке матрицы с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию»

textual
Листинг программы
  1. const N = 8;
  2. const M = 8;
  3.  
  4. type item_t = double;
  5. type line_t = array[1..M] of item_t;
  6. type tabl_t = array[1..N] of line_t;
  7.  
  8.  
  9.  
  10. var
  11.   s: tabl_t;
  12.   i,c,sX,x,y,mY: integer;
  13.   max: item_t;
  14.  
  15. begin    
  16.     for y:=1 to N do
  17.       for x:=1 to M do
  18.         s[y][x] := random(-100 , 100);
  19.  
  20.  
  21.   for y:= 1 to N do begin
  22.     for x:= 1 to M do
  23.       write(s[y][x] :5);
  24.    writeln;  
  25.   end;
  26.    
  27.   Writeln('-------------------------------');
  28.  
  29.   mY := 1;
  30.   max := s[1][1];
  31.   y := 2;
  32.   x := 2;
  33.   while( (y <= N) AND (x <= M) ) do begin
  34.     if s[y][x] > max then begin
  35.       mY := y;
  36.       max := s[y][x];
  37.     end;
  38.  
  39.     y := y + 1;
  40.     x := x + 1;
  41.   end;
  42.  
  43.   writeln( 'Max y: ' , mY );
  44.  
  45.  
  46.   for x:=1 to M-1 do
  47.     for sX:= M downto x+1 do begin
  48.       if s[mY][x] < s[mY][sX] then begin
  49.         max := s[mY][x];
  50.         s[mY][x] := s[mY][sX];
  51.         s[mY][sX] := max;
  52.       end;
  53.     end;
  54.  
  55.   for y:= 1 to N do begin
  56.     for x:= 1 to M do
  57.       write(s[y][x] :5);
  58.    writeln;  
  59.   end;
  60.    
  61. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы