Предыдущий раздел | Раздел верхнего уровня | Следующий раздел |
Дана квадратная матрица A[1:n, 1:n]. Вычислить массив B[1:m], состоящий из номеров столбцов матрицы, в которых находятся отрицательные элементы, расположенные под главной диагональю.
Легко заметить (рис. 1), что если элемент A[i,j] расположен под главной диагональю, то индексы i и j могут принимать следующие значения: i=2…n j=1…i-1
Исходные данные: | n, A[1:n,1:n] |
Результат: | B[1:m] |
Алгоритм Отрицательные_элементы1
m:=0 цикл от i:=2 до n Bm : = j если m < > 0 то |
program OtrEl1; var B: array [1..20] of integer; i,j: integer; n,m: integer; writeln (' Поиск столбцов матрицы, содержащих отрицательные элементы'); writeln (' под главной диагональю '); writeln; { Ввод исходных данных } write (' Введите n: '); readln (n); writeln (' Введите элементы матрицы A : '); for i:=1 to n do begin for j:=1 to n do writeln; { Поиск номеров столбцов } for i:=2 to n do begin B [m] : = j ; if m < > 0 then begin for i : = 1 to m do else |
В результате работы этого алгоритма массив B[1:m] может содержать повторяющиеся значения, если в каждом столбце под главной диагональю более одного отрицательного элемента.