Определить, делится ли произведение на любой из элементов матрицы без остатка - Pascal ABC
Формулировка задачи:
найти произведение элементов, расположенных на побочной диагонали и
выше её. Определить, делится ли это произведение на любой из элементов
матрицы без остатка;
Решение задачи: «Определить, делится ли произведение на любой из элементов матрицы без остатка»
textual
Листинг программы
var n,i,j,p,k : integer; a:array[1..10,1..10]of integer; begin write('Введите размер матрицы n='); readln(n); for i:= 1 to n do for j:= 1 to n do a[i, j]:= random(51)-random(51); writeln('** Исходная матрица **'); p:=1; for i:= 1 to n do begin for j:= 1 to n do begin a[i,j]:=1+random(5); write(a[i,j]:4); if j<=n-i+1 then p:=p*a[i,j]; end; writeln; end; writeln('Произведение на побочной диагонали и выше ее=',p); k:=0; i:=1; while(i<=n)and(k=0) do begin j:=1; while(j<=n)and(k=0)do if p mod a[i,j]<>0 then k:=1 else inc(j); if k=0 then inc(i); end; if k=0 then write('Произведение делится нацело на все элементы матрицы') else write('Произведение не делится нацело на все элементы матрицы') end.
Объяснение кода листинга программы
- Ввод размера матрицы n.
- Инициализация массива a значениями, случайно выбранными в диапазоне от 1 до 50.
- Вывод исходной матрицы.
- Инициализация переменной p единицей.
- Цикл, который проходит по каждой строке матрицы.
- Внутри цикла вычисляется произведение элементов матрицы, начиная с текущей строки и до конца строки. Если произведение делится на текущий элемент без остатка, то переменная k устанавливается в 1.
- Если значение k равно 0, то выводится сообщение о том, что произведение делится нацело на все элементы матрицы. В противном случае выводится сообщение о том, что произведение не делится нацело на все элементы матрицы.
- Цикл завершается, когда i превышает n или k не равно 0.
- Выводится итоговое сообщение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д