В матрице посчитать количество строк и столбцов не содержащих отрицательных элементов - Pascal
Формулировка задачи:
В матрице посчитать количество строк и столбцов не содержащих отрицательных элементов.
Помогите, пожалуйста) Нужна программа на паскале.
Решение задачи: «В матрице посчитать количество строк и столбцов не содержащих отрицательных элементов»
textual
Листинг программы
const m=5; n=5;
var
a: array [1..m,1..n] of Integer;
i, j, ni, nj: Integer;
begin
...
{ni:=0; nj:=0;}
for i:=1 to m do begin
j:=n; while (j>0) and (a[i,j]>0) do Dec(j);
Inc(ni,Ord(j=0));
end;
for j:=1 to n do begin
i:=m; while (i>0) and (a[i,j]>0) do Dec(i);
Inc(nj,Ord(i=0));
end;
WriteLn('Без отрицательных: строк ',ni,', столбцов ',nj);
end.
Объяснение кода листинга программы
- Объявление и инициализация переменных:
m- константа, содержащая значение 5n- константа, содержащая значение 5a- двумерный массив размером 5x5, содержащий целочисленные значенияi,j,ni,nj- переменные целого типа
- Инициализация переменных
niиnjзначением 0 - Цикл для проверки строк:
- Проходим по каждой строке матрицы
- Устанавливаем переменную
jв значениеn - Пока
jбольше нуля и значение в матрице на данной позиции больше нуля - уменьшаемj - Увеличиваем значение переменной
niна 1, еслиjравно 0 (т.е. строка не содержит отрицательных элементов)
- Цикл для проверки столбцов:
- Проходим по каждому столбцу матрицы
- Устанавливаем переменную
iв значениеm - Пока
iбольше нуля и значение в матрице на данной позиции больше нуля - уменьшаемi - Увеличиваем значение переменной
njна 1, еслиiравно 0 (т.е. столбец не содержит отрицательных элементов)
- Вывод результата подсчета строк и столбцов без отрицательных значений.