Найти наибольшее значении в строке матрицы, если на побочной диагонали число простое - PascalABC.NET
Формулировка задачи:
Есть квадратная матрица, найти наибольшее значении в строке если на побочной диагонали число простое. Собственно нужна помощь в нахождении максимума, сам бы сделал но уже голова пухнет, кому не лень решить простую задачку, прошу помочь.
Решение задачи: «Найти наибольшее значении в строке матрицы, если на побочной диагонали число простое»
textual
Листинг программы
const N=20;
var a:array[1..N,1..N] of byte;
dlin,kd,r,i,j,max,k:integer;
begin
randomize;
write('Введите размер матрицы: ');
readln(dlin);
for I := 1 to dlin do
begin
for j := 1 to dlin do
begin
A[i,j]:=random(100)+2;
write(A[i,j]:4);
end;
writeln;
end;
k:=0;
for i:= 1 to dlin do
begin
kd:=0;
j := A[i, (dlin - i + 1)];
for r := 1 to j do
if (j mod r=0) then inc(kd);
if kd=2 then
begin
k:=1;
Max:=A[i,1];
for j:=2 to dlin do
if A[i,j]>Max then Max:=A[i,j];
writeln('Строка ',i,' Max=',Max);
end;
end;
if k=0 then write('На побочной диагонали нет простых чисел')
end.
Объяснение кода листинга программы
- Объявлены переменные: N, a, dlin, kd, r, i, j, max, k.
- Вводится размер матрицы.
- Заполняются элементы матрицы случайными числами.
- Выводится на экран заполненная матрица.
- Инициализируется счётчик k=0.
- В каждой строке матрицы проверяется, является ли число на побочной диагонали простым.
- Если на побочной диагонали найдено простое число, то находится максимальное значение в строке.
- Выводится на экран строка с максимальным значением.
- Если во всех строках не найдено простых чисел, выводится сообщение
На побочной диагонали нет простых чисел.