Найти наибольшее из значений элементов матрицы, расположенных в закрашенной области - Pascal ABC

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

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

Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов, расположенных в закрашенной области.

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

textual
Листинг программы
  1. const nmax=10;
  2. var a:array[1..nmax,1..nmax] of real;
  3.     n,i,j:integer;
  4.     mx:real;
  5. begin
  6. randomize;
  7. repeat
  8. write('Размер матрицы от 2 до ',nmax,' n=');
  9. readln(n);
  10. until n in [2..nmax];
  11. writeln('Исходная матрица:');
  12. for i:=1 to n do
  13.  begin
  14.   for j:=1 to n do
  15.    begin
  16.     a[i,j]:=9*random;
  17.     if (j>=n-i+1)and(j>=i)then textcolor(12)
  18.     else textcolor(1);
  19.     write(a[i,j]:5:2);
  20.    end;
  21.   writeln;
  22.  end;
  23. mx:=a[1,n];
  24. for i:=1 to n do
  25. for j:=1 to n do
  26. if (j>=n-i+1)and(j>=i) then
  27. if a[i,j]>mx then mx:=a[i,j];
  28. write('Max=',mx:0:2);
  29. end.

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

  1. Переменная nmax инициализируется значением 10.
  2. Создается массив a типа array[1..nmax,1..nmax] of real, который будет представлять собой матрицу размером от 2 до nmax на 10 строк.
  3. Задаются три переменные i, j и mx типа integer и real соответственно.
  4. Используется функция randomize для инициализации генератора случайных чисел.
  5. Запускается цикл repeat, который будет выполняться до тех пор, пока размер матрицы не будет в пределах от 2 до nmax.
  6. Внутри цикла выводится запрос на ввод размера матрицы.
  7. После получения размера матрицы выводится сообщение об исходной матрице.
  8. Запускается вложенный цикл for, который будет выполняться для каждой строки матрицы.
  9. Внутри вложенного цикла вычисляется значение элемента матрицы a[i,j].
  10. Выводится значение элемента матрицы a[i,j] с помощью функции write.
  11. Выводится символ новой строки с помощью функции writeln.
  12. Проверяется условие if (j>=n-i+1)and(j>=i). Если оно истинно, то цвет текста меняется на 12.
  13. Проверяется условие if a[i,j]>mx then mx:=a[i,j]. Если оно истинно, то значение переменной mx обновляется.
  14. После окончания вложенного цикла выводится сообщение о максимальном значении в матрице.

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


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

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

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

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

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

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