{ Пример 5.2. Дана целочисленная матрица A(N,N). Определить,
имеются ли среди ее элементов, лежащих ниже
главной диагонали, отрицательные числа.
Система тестов
╔═══════╤═════════════╤══════════════════╤═════════════════════╗
║ Номер │ Проверяемый │ Данные │ ║
║ теста │ случай ├────┬─────────────┤ Результат ║
║ │ │ N │ Массив А │ ║
╟───────┼─────────────┼────┼─────────────┼─────────────────────╢
║ │ │ │ 1 -1 2 1 │ ║
║ 1 │ "Имеются" │ 4 │ 2 3 1 0 │ "Есть отрицательные ║
║ │ │ │ 1 -1 2 -1 │ числа" ║
║ │ │ │ -2 1 0 1 │ ║
╟───────┼─────────────┼────┼─────────────┼─────────────────────╢
║ │ │ │ 1 -1 2 │ ║
║ 2 │ "Не имеются"│ 3 │ 1 0 1 │ "Нет отрицательных ║
║ │ │ │ 2 1 1 │ чисел" ║
╚═══════╧═════════════╧════╧═════════════╧═════════════════════╝
}
Program UnderDiagonal;
Uses Crt;
Type Mas = Array [1..10, 1..10] of Integer;
Var A : Mas;
N, i, j : Integer;
Flag : Boolean;
{-----------------------------------}
Procedure InputOutput(Var A : Mas); { описание процедуры }
Begin { ввода-вывода данных }
ClrScr;
Write('Количество строк и столбцов - '); ReadLn(N);
For i := 1 to N do
For j := 1 to N do
begin Write('A[' , i , ', ' , j , ']= ? ');
ReadLn(A[i, j])
end; WriteLn;
WriteLn('Матрица :');
For i := 1 to N do
begin
For j := 1 to N do Write(A[i, j] : 5);
WriteLn
end; WriteLn
End; { of InputOutput }
{------------------------------------}
Procedure Solution(Var A : Mas); { описание процедуры поиска решения }
Begin
i := 2 ; Flag := FALSE;
While (i<=N) and not Flag do
begin
j:=1;
While (j<i) and not Flag do
If (A[i, j]<0)
then Flag:=TRUE
else j:=j+1;
i:=i+1
end;
End; { of Solution }
{--------------------------------------------}
Procedure OutResult;
Begin
WriteLn('О т в е т :');
Write('Среди элементов, лежащих ниже главной диагонали, ');
If Flag then WriteLn('есть отрицательные.')
else WriteLn('нет отрицательных.');
ReadLn
End; { of OutResult }
{--------------------------------------------}
BEGIN
InputOutput(A); { вызов процедуры ввода-вывода данных }
Solution(A); { вызов процедуры поиска решения задачи }
OutResult { вызов процедуры вывода результата }
END.
Похожие записи/страницы:
- В массиве A(N, N) вычислить две суммы элементов, расположенных ниже и выше главной диагонали - Pascal(Паскаль)
- Определить, имеется ли среди элементов главной диагонали заданной целочисленной матрицы A(N, N) хотя бы один…
- В заданной вещественной квадратной матрице n*n определить что больше сумма элементов лежащих выше или ниже…
- Дана целочисленная матрица A(N, M). Определить, встречается ли заданное целое K среди максимальных элементов…
- Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех строках, которые не содержат…
- Если целочисленная квадратная матрица симетрична относительно главной диагонали, обнулить все элементы, лежащие…
- Среднее арифметическое наибольшего и наименьшего значений элементов матрицы ниже главной диагонали Pascal(Паскаль)
- Проверить, является ли заданная целочисленная матрица A(N, N) "магическим квадратом" - Pascal(Паскаль)