Найти наибольший и наименьший элемент заштрихованной части матрицы - Free Pascal (694)

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

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

Дано натуральное число n. Сформировать произвольную матрицу размерности n*n. Найти Наибольший и наименьший элемент заштрихованной части

Решение задачи: «Найти наибольший и наименьший элемент заштрихованной части матрицы»

textual
Листинг программы
  1. uses crt;
  2. const nmax=20;
  3. var a:array[1..nmax,1..nmax] of integer;
  4.     n,i,j,mx,imx,jmx,mn,imn,jmn,k:integer;
  5. begin
  6. clrscr;
  7. randomize;
  8. repeat
  9. write('Введите размер матрицы от 3 до ',nmax,' n=');
  10. readln(n);
  11. until n in [3..nmax];
  12. k:=n div 2+1;
  13. for i:=1 to n do
  14. for j:=1 to n do
  15. a[i,j]:=random(100);
  16. mx:=a[1,n];
  17. imx:=1;
  18. jmx:=n;
  19. mn:=a[1,n];
  20. imn:=1;
  21. jmn:=n;
  22. for i:=1 to n do
  23. for j:=k to n do
  24. if (j>=i)and(j>=n-i+1)then
  25. if a[i,j]>mx then
  26.  begin
  27.   mx:=a[i,j];
  28.   imx:=i;
  29.   jmx:=j;
  30.  end
  31. else if a[i,j]<mn then
  32.  begin
  33.   mn:=a[i,j];
  34.   imn:=i;
  35.   jmn:=j;
  36.  end;
  37. writeln('Матрица');
  38. for i:=1 to n do
  39.  begin
  40.   for j:=1 to n do
  41.    begin
  42.     if(i=imx)and(j=jmx)then textcolor(12)
  43.     else if(i=imn)and(j=jmn)then textcolor(9)
  44.     else if (j>=i)and(j>=n-i+1)then textcolor(10)
  45.     else textcolor(15);
  46.     write(a[i,j]:3);
  47.    end;
  48.   writeln;
  49.  end;
  50. textcolor(9);
  51. writeln('Минимальный элемет=',mn);
  52. textcolor(12);
  53. writeln('Максимальный элемет=',mx);
  54. readln
  55. end.

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

  1. Объявление переменных:
    • a: массив для хранения значений матрицы
    • n: размер матрицы
    • i, j: индексы для обхода матрицы
    • mx, imx, jmx: координаты максимального элемента
    • mn, imn, jmn: координаты минимального элемента
    • k: размер заштрихованной части матрицы
    • mx, mn: значения для хранения максимального и минимального элементов
  2. Заполнение матрицы случайными значениями
  3. Инициализация переменных для хранения максимального и минимального элементов
  4. Обход заштрихованной части матрицы для поиска максимального и минимального элементов
  5. Вывод матрицы с использованием разных цветов для выделения заштрихованной части и максимального и минимального элементов
  6. Вывод координат минимального и максимального элементов
  7. Чтение действия пользователя для выхода из программы В данном коде реализуется алгоритм поиска максимального и минимального элементов в заштрихованной части матрицы. Алгоритм основан на обходе матрицы и сравнении элементов с текущими минимальным и максимальным значениями. При этом используются разные цвета для выделения заштрихованной части и максимального и минимального элементов в матрице.

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


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

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

13   голосов , оценка 3.769 из 5

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

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

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