Поменять местами максимальный и минимальный элемент главной диагонали матрицы - Turbo Pascal

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

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

В квадратной матрице размером 5х5 узнать максимальный и минимальный элемент главной диагонали. Поменять их местами . получить после этого матрицу !! Решите пожалуйста

Решение задачи: «Поменять местами максимальный и минимальный элемент главной диагонали матрицы»

textual
Листинг программы
  1. var a: array [1..5,1..5] of integer;
  2. i,j,max,min,maxx,maxy,minx,miny:integer;
  3. BEGIN
  4. maxx:=1;
  5. minx:=1;
  6. maxy:=1;
  7. miny:=1;
  8. Randomize;
  9. For i:=1 to 5 do
  10.   For j:=1 to 5 do
  11.   a[i,j] := Random(100);
  12. For i:=1 to 5 do begin
  13.   For j:=1 to 5 do
  14.   Write (a[i,j],' ');
  15. Writeln;
  16. end;
  17. max := a[1,1];
  18. min := max;
  19. For i:=1 to 5 do begin
  20.     IF a[i,i]>max THEN begin
  21.                        max := a[i,i];
  22.                        maxx := i;
  23.                        maxy := i;
  24.                        end
  25.     ELSE IF a[i,i]<min THEN begin
  26.                             min := a[i,i];
  27.                             minx := i;
  28.                             miny := i;
  29.                             end;
  30.     end;
  31. a[maxx,maxy] := min;
  32. a[minx,miny] := max;
  33. Writeln;
  34. For i:=1 to 5 do begin
  35.   For j:=1 to 5 do
  36.   Write (a[i,j],' ');
  37. Writeln;
  38. end;
  39. END.

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

  1. Создается переменная a типа array [1..5,1..5] of integer;, которая представляет собой матрицу размером 5x5.
  2. Создаются переменные i, j, max, min, maxx, maxy, minx и miny типа integer.
  3. Выполняется инициализация переменных maxx, minx, maxy и miny: maxx и minx устанавливаются равными 1, а maxy и miny также устанавливаются равными 1.
  4. Выполняется цикл Randomize, который необходим для генерации случайных чисел.
  5. Выполняется внешний цикл For i:=1 to 5 do, который проходит по каждой строке матрицы.
  6. Внутри внешнего цикла выполняется вложенный цикл For j:=1 to 5 do, который проходит по каждому элементу матрицы в текущей строке.
  7. В каждой ячейке матрицы a[i,j] присваивается случайное число от 0 до 99 с помощью функции Random(100).
  8. После завершения вложенного цикла для каждой строки матрицы выводится содержимое строки с помощью команды Write (a[i,j],' ');.
  9. После вывода всех строк матрицы выполняется команда Writeln;, чтобы перейти на новую строку.
  10. После вывода всех строк матрицы выполняется внутренний цикл For i:=1 to 5 do, который проходит по каждой строке матрицы.
  11. Внутри внутреннего цикла выполняется проверка условия IF a[i,i]>max THEN, где max — это текущий максимум матрицы.
  12. Если условие истинно, то присваиваются новые значения максимума (max), максимальной позиции (maxx) и минимальной позиции (miny).
  13. Если условие ложно, то выполняется аналогичная проверка для минимального значения матрицы.
  14. После завершения внутреннего цикла для каждой строки матрицы выполняется команда a[maxx,maxy] := min;, чтобы поменять местами максимум и минимум.
  15. Аналогично выполняется команда a[minx,miny] := max;, чтобы поменять местами минимум и максимум.
  16. После выполнения всех команд матрица должна быть изменена таким образом, чтобы максимальный элемент находился в левом нижнем углу, а минимальный — в правом верхнем углу.
  17. Выполняется еще один цикл For i:=1 to 5 do, чтобы вывести измененную матрицу.
  18. В конце программы выполняется команда END.;, чтобы завершить выполнение программы.

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


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

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

8   голосов , оценка 4.125 из 5

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

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

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