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

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

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

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

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

textual
Листинг программы
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,m,i,j,k,mx:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
k:=m-n;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(50);
    if (j>=m-i+1)and(j>=i+k) then
     begin
      if(i=1)and(j=m) then mx:=a[i,j]
      else if a[i,j]>mx then mx:=a[i,j];
      textcolor(12);
     end
    else textcolor(0);
    write(a[i,j]:3);
   end;
  writeln;
 end;
textcolor(0);
writeln('Максимальный элемент в выделенной области=',mx);
readln
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
Похожие ответы