Массив: Проверить, является ли матрица A(n,n) диагональной, единичной или нулевой - PascalABC.NET
Формулировка задачи:
Проверить, является ли матрица A(n,n) диагональной (все элементы нули, кроме главной диагонали) единичной (все элементы нули, на главной диагонали только единицы) или нулевой (все элементы нули) .
Решение задачи: «Массив: Проверить, является ли матрица A(n,n) диагональной, единичной или нулевой»
textual
Листинг программы
const n=4; var a:array[1..n,1..n]of integer; i,j,g1,gz,z:integer; begin writeln('Введите элементы матрицы'); for i:=1 to n do for j:=1 to n do begin write('a[',i,',',j,']='); readln(a[i,j]); end; writeln('Матрица'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln end; z:=0; g1:=0; gz:=0; for i:=1 to n do for j:=1 to n do begin if a[i,j]=0 then inc(z); if i=j then begin if a[i,j]=0 then inc(gz) else if a[i,j]=1 then inc(g1) end; end; if z=n*n then write('Матрица нулевая') else if (g1=n)and(z=n*n-n)then write('Матрица единичная') else if (z=n*n-n)and(g1<n) then write('Матрица диагональная') else write('Матрица не относится ни к одному из указанных типов') end.
Объяснение кода листинга программы
- Объявлены переменные: n - размерность матрицы, a - сама матрица, i, j - циклы для перебора элементов матрицы, g1, gz, z - счетчики для проверки свойств матрицы.
- Пользователю предлагается ввести элементы матрицы.
- Выводится размерность матрицы и сама матрица.
- Происходит проверка свойств матрицы:
- Если все элементы равны нулю, то матрица считается нулевой.
- Если главный элемент матрицы (элемент на главной диагонали) равен единице, то матрица считается единичной.
- Если все элементы на главной диагонали равны нулю, но есть ненулевые элементы вне неё, то матрица считается диагональной.
- Если ни одно из условий не выполняется, то матрица не относится ни к одному из указанных типов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д