Положительные элементы матрицы переписать подряд в одномерный массив (блок схема) - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д