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

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

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

здравствуйте, помогите пожалуйста написать программу по заданию: дано натуральное число n сформулировать произвольную матрицу размерность n*m. найти наибольший и наименьший элемент заштриховоной части.

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

textual
Листинг программы
  1. uses crt;
  2. const nmax=20;
  3. var a:array[1..nmax,1..nmax] of integer;
  4.     n,m,i,j,k,mx:integer;
  5. begin
  6. clrscr;
  7. randomize;
  8. repeat
  9. write('Количество строк до ',nmax,' n=');
  10. readln(n);
  11. until n in [1..nmax];
  12. repeat
  13. write('Количество столбцов до ',nmax,' m=');
  14. readln(m);
  15. until m in [1..nmax];
  16. k:=m-n;
  17. writeln('Исходная матрица:');
  18. for i:=1 to n do
  19.  begin
  20.   for j:=1 to m do
  21.    begin
  22.     a[i,j]:=random(50);
  23.     if (j>=m-i+1)and(j>=i+k) then
  24.      begin
  25.       if(i=1)and(j=m) then mx:=a[i,j]
  26.       else if a[i,j]>mx then mx:=a[i,j];
  27.       textcolor(12);
  28.      end
  29.     else textcolor(0);
  30.     write(a[i,j]:3);
  31.    end;
  32.   writeln;
  33.  end;
  34. textcolor(0);
  35. writeln('Максимальный элемент в выделенной области=',mx);
  36. readln
  37. end.

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

  1. Объявление переменных:
    • a: массив для хранения значений матрицы
    • n, m, i, j, k, mx: целочисленные переменные для выполнения задач
  2. Цикл repeat-until для ввода количества строк и столбцов матрицы
  3. Вычисление значения переменной k как разности между количеством столбцов и строк
  4. Цикл двойной вложенности для вывода значений матрицы
  5. Условие if для выделения диагонали матрицы
  6. Если текущая ячейка находится на диагонали и её значение больше максимального, то обновление значения переменной mx
  7. Установка цвета текста в 12 для выделения выделенной области
  8. Вывод значения ячейки с смещением на 3 символа
  9. Установка цвета текста в 0 после вывода выделенной области
  10. Вывод значения переменной mx как максимального элемента выделенной области
  11. Ожидание нажатия клавиши для завершения программы

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


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

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

15   голосов , оценка 3.933 из 5

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

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

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