Массив: Сформировать массив A из ненулевых элементов исходной матрицы X. - Pascal ABC
Формулировка задачи:
Сформировать матрицу X[5,7] случайно. Сформировать массив A из ненулевых элементов матрицы X.
Решение задачи: «Массив: Сформировать массив A из ненулевых элементов исходной матрицы X.»
textual
Листинг программы
const n = 5; m = 7; var x: array[1..n, 1..m] of integer; i, j, k: integer; a: array[1..n * m] of integer; begin randomize; k := 0; for i := 1 to n do begin for j := 1 to m do begin x[i, j] := -n * m div 2 + random(n * m + 1); if x[i, j] <> 0 then begin k := k + 1; a[k] := x[i, j]; end; write(x[i, j]:5); end; writeln; end; writeln; for i := 1 to k do write(a[i]:5); end.
Объяснение кода листинга программы
- В начале кода объявляются переменные: — n, m — размеры матрицы X (5 и 7 соответственно); — x — матрица размером n на m, заполненная случайными ненулевыми числами от -25 до 25; — i, j, k — счётчики, используемые в циклах; — a — массив, в который будут копироваться ненулевые элементы матрицы X.
- Затем выполняется инициализация генератора случайных чисел: randomize.
- Переменная k инициализируется нулём. Она используется для подсчёта количества ненулевых элементов матрицы X.
- Два вложенных цикла выполняют следующие действия: — внешний цикл перебирает номера строк матрицы X от 1 до n; — внутренний цикл перебирает номера столбцов матрицы X от 1 до m; — в каждой итерации внутреннего цикла в элемент матрицы X[i, j] записывается случайное ненулевое число; — если элемент матрицы X[i, j] ненулевой, то: — к переменной k прибавляется единица; — в элемент массива a[k] записывается значение элемента матрицы X[i, j].
- После завершения циклов выводится на экран строка, разделённая двоеточием, для каждого элемента матрицы X.
- Затем выводится на экран строка, разделённая двоеточием, для каждого элемента массива a.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д