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