Найти наибольшее из значений элементов, расположенных в заштрихованной части матрицы - PascalABC.NET (24720)
Формулировка задачи:
Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов , расположенных в заштрихованной части матрицы.
Решение задачи: «Найти наибольшее из значений элементов, расположенных в заштрихованной части матрицы»
textual
Листинг программы
- var a:array[,]of integer;
- n,i,j,max:integer;
- begin
- randomize;
- write('n=');
- readln(n);
- setlength(a,n,n);
- for i:=0 to n-1 do
- begin
- for j:=0 to n-1 do
- begin
- a[i,j]:=random(100);
- write(a[i,j]:3);
- end;
- writeln;
- end;
- max:=a[0,0];
- for i:=0 to n-1 do
- for j:=0 to n-1 do
- if(((j<=i)and(j<=n-i-1))
- or((j>=i)and(j>=n-i-1)))and(a[i,j]>max)
- then max:=a[i,j];
- writeln('Максимальный элемент в заштрихованной области=',max);
- end.
Объяснение кода листинга программы
- Объявляются переменные: a - двумерный массив целых чисел; n - количество строк и столбцов в матрице; i, j - индексы для обхода матрицы; max - переменная для хранения максимального элемента.
- Задается размерность матрицы с помощью цикла и ввода с клавиатуры.
- Заполняется матрица случайными значениями от 1 до 100 с помощью функции random и цикла.
- Выводится на экран содержимое матрицы с помощью цикла и функции write.
- Начальное значение максимального элемента присваивается первому элементу первой строки матрицы.
- Два вложенных цикла проверяют каждый элемент матрицы на предмет того, находится ли он в заштрихованной области (условие ((j<=i)and(j<=n-i-1)) or((j>=i)and(j>=n-i-1)))). Если элемент больше текущего максимального, то он становится новым максимальным.
- Выводится на экран максимальный элемент заштрихованной области.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д