Сформировать вектор D, состоящий из номеров строк, содержащих хотя бы один отрицательный элемент - Pascal
Формулировка задачи:
выполнить с использованием процедуры
ввод и вывод массивов и других данных не объединять с обработкой данных.
Дана целочисленная матрица А размером 10х12. Сформировать вектор D, состоящий из номеров строк, содержащих хотя бы один отрицательный элемент. Использовать процедуру для формирования вектора.
Решение задачи: «Сформировать вектор D, состоящий из номеров строк, содержащих хотя бы один отрицательный элемент»
textual
Листинг программы
procedure vector(var x: matrix; var v: arr; var k: integer); var i, j: integer; begin k := 0; for i := 1 to 10 do for j := 1 to 12 do if x[i, j] < 0 then begin inc(k); v[k] := i; break end end;
Объяснение кода листинга программы
- Создается процедура
vector
, которая принимает три аргумента: переменнуюx
типаmatrix
(матрица), переменнуюv
типаarr
(вектор) и переменнуюk
типаinteger
(целое число). - Внутри процедуры объявляются две переменные
i
иj
типаinteger
(целое число) для использования в циклах. - Затем идет внешний цикл, который выполняется 10 раз, представляющий каждую строку матрицы
x
. - Внутри внешнего цикла идет вложенный цикл, который выполняется 12 раз, представляющий каждый элемент строки
x
. - Внутри вложенного цикла проверяется, является ли текущий элемент строки
x
отрицательным числом. - Если текущий элемент отрицательный, то увеличивается значение переменной
k
на единицу. - Значение переменной
k
затем используется для определения индекса элемента в вектореv
, который будет содержать отрицательные числа. - Значение
k
присваивается векторуv
с использованием оператораv[k]
. - После проверки всех элементов строки
x
, цикл завершается. - Процедура заканчивается без явных действий.