Определить номера строк матрицы, не содержащих отрицательных элементов - PascalABC.NET
Формулировка задачи:
2.Дана квадратная матрица А размера 6х6. Определить номера строк, не содержащих отрицательных элементов. Для проверки одной строки использовать функцию.
Решение задачи: «Определить номера строк матрицы, не содержащих отрицательных элементов»
textual
Листинг программы
const n = 6; type vec = array[1..6] of integer; mas = array[1..6] of vec; function NoNegatives(v: vec): boolean; var count: integer := 0; begin foreach i: integer in v do if i < 0 then inc(count); result := count = 0; end; var i, j: integer; a: mas; begin for i := 1 to n do begin for j := 1 to n do read(a[i, j]); readln(); end; for i := 1 to n do if NoNegatives(a[i]) then writeln(i); end.
Объяснение кода листинга программы
- В начале определяется размерность матрицы - n = 6.
- Затем определяются типы данных для представления матрицы и вектора - vec и mas соответственно.
- Далее идет функция NoNegatives, которая принимает вектор и возвращает булево значение, указывающее на наличие или отсутствие отрицательных элементов в векторе. Внутри функции используется цикл foreach для прохода по всем элементам вектора. Если элемент отрицательный, то увеличивается счетчик count. В конце функции проверяется, равен ли count нулю, и возвращается соответствующее булево значение.
- Затем идут переменные i и j, которые будут использоваться для прохода по матрице.
- Создается массив a размером n на n для хранения значений матрицы.
- Происходит заполнение матрицы значениями с помощью цикла for i := 1 to n do for j := 1 to n do read(a[i, j]).
- После заполнения матрицы происходит чтение строки с помощью readln().
- Затем идет цикл for i := 1 to n do if NoNegatives(a[i]) then writeln(i), который проходит по строкам матрицы и выводит номера строк, не содержащих отрицательных элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д