Найти произведение положительных элементов каждого столбца матрицы - Turbo Pascal
Формулировка задачи:
Нужно найти произведение положительных элементов каждого столбца матрицы А, ее размер вводиться с клавиатуры, а элементы нужно разместить в памяти динамически. Буду благодарен за помощь
Решение задачи: «Найти произведение положительных элементов каждого столбца матрицы»
textual
Листинг программы
type TIntArr = array [0..32764] of Integer; PIntArr = ^TIntArr; var a: PIntArr; m, n, mn, i, j: Integer; p: Real; begin Randomize; repeat Write('m n: '); Read(m,n); until (m>1) and (n>1); mn:=m*n; GetMem(a,SizeOf(Integer)*mn); for j:=0 to mn-1 do begin if j mod n=0 then WriteLn; a^[j]:=-9+Random(19); Write(a^[j]:8); end; WriteLn; WriteLn('Произведения:'); for j:=0 to n-1 do begin p:=1; i:=j; while i<mn do begin if a^[i]>0 then p:=p*a^[i]; Inc(i,n); end; Write(' ',p:7:0); end; WriteLn; FreeMem(a,SizeOf(Integer)*mn); end.
Объяснение кода листинга программы
- В начале кода объявляются необходимые переменные и создается тип данных TIntArr.
- Затем происходит инициализация генератора случайных чисел и считывание значений переменных m и n для создания матрицы.
- Вычисляется произведение mn (множение m на n).
- Выделяется память под массив целых чисел размером mn.
- В цикле for перебираются все элементы массива a.
- Если текущий индекс i меньше mn, то проверяется, является ли элемент a^[i] положительным.
- Если элемент положительный, то его произведение p умножается на текущий элемент.
- Индекс i увеличивается на n, и цикл while повторяется до тех пор, пока i меньше mn.
- После завершения цикла, выводится значение переменной p.
- Выводится сообщение
Произведения:
. - В следующем цикле for перебираются все элементы массива a.
- Выводится пробел и значение переменной p.
- Выводится сообщение ``.
- Выводится значение переменной p.
- Выводится сообщение ``.
- Выводится значение переменной p.
- Выводится сообщение ``.
- Выводится значение переменной p.
- Выводится сообщение ``.
- Выводится значение переменной p.
- Освобождается память, выделенная под массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д