Положительные элементы матрицы переписать подряд в одномерный массив (блок схема) - PascalABC.NET
Формулировка задачи:
Дано матрицу размерности N на M. Положительные элементы матрицы переписать подряд в одномерный массив В.
Решение задачи: «Положительные элементы матрицы переписать подряд в одномерный массив (блок схема)»
textual
Листинг программы
uses Arrays; begin Randomize; var a := CreateRandomIntegerMatrix(ReadLnInteger('N ='), ReadLnInteger('M ='), -9, +9); WriteLn('Создана матрица случайных чисел a:'); WriteMatrix(a, 3); var b : array of Integer; var count := 0; for var Row := 0 to a.GetLength(0)-1 do for var Col := 0 to a.GetLength(1)-1 do if a[Row, Col] > 0 then begin count += 1; SetLength(b, count); b[count-1] := a[Row, Col]; end; WriteLn('Создан одномерный массив b положительных элементов матрицы a:', NewLine, b); end.
Объяснение кода листинга программы
- Используется пространство имен Arrays.
- Задаются размеры матрицы с помощью функции ReadLnInteger.
- Создается случайная матрица с помощью функции CreateRandomIntegerMatrix.
- Выводится размер матрицы и её содержимое с помощью функции WriteMatrix.
- Создается одномерный массив b для хранения положительных элементов матрицы a.
- Инициализируется счётчик count для подсчёта положительных элементов.
- Происходит перебор элементов матрицы a с помощью двух вложенных циклов.
- Если элемент матрицы a[Row, Col] больше нуля, то он копируется в массив b с помощью функции SetLength, а счётчик count увеличивается.
- Выводится одномерный массив b с помощью функции WriteLn.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д