Найти произведение только тех чисел, которые больше заданного числа m - PascalABC.NET
Формулировка задачи:
Составить программу на Паскале, содержащую минимум 4 подпрограммы.
Дан одномерный массив, выполнить следующие действия:
-вычислить произведение отрицательных элементов P1 произведение положительных элементов P2, сравнить модуль P2 с модулем P1, указать какое из произведений по модулю больше.
-найти произведение только тех чисел,которые больше заданного числа m.
-подсчитать,сколько в нем положительных элементов.
-поменять местами соседние элементы, стоящие на четырех местах,с элементами, стоящими на нечетных местах.
Решение задачи: «Найти произведение только тех чисел, которые больше заданного числа m»
textual
Листинг программы
program pr; type arr = array [1..100] of integer; var i, n, h, c: integer; a: arr; p1, p2: integer; procedure fis(var x: arr; var av, avv: integer); var j, k: integer; begin av := 1; avv := 1; for j := 1 to n do if a[j] > 0 then begin av := av * a[j]; end; for k := 1 to n do begin if a[k] < 0 then avv := avv * a[k]; end; writeln; if abs(p1) > abs(p2) then writeln('Произведение положительных элементов по модулю больше') else writeln('Произведение отрицательных элементов по модулю больше'); end; procedure secon(var x: arr; var hh: integer); var m, j: integer; begin hh := 1; writeln('Введите число m'); readln(m); for j := 1 to n do if a[j] > m then hh := hh * a[j]; end; procedure three(var x: arr; var cout: integer); var j: integer; begin cout := 0; for j := 1 to n do if a[j] > 0 then begin cout := cout + 1; end; end; procedure four(var x: arr); var j, t: integer; begin j := 0; while j < n - 1 do begin inc(j, 1); t := A[j]; A[j] := A[j + 1]; A[j + 1] := t; inc(j, 1); end; for j := 1 to n do write(A[j]:4); end; begin writeln('Введите размер массива'); readln(n); for i := 1 to n do begin a[i] := -10 + random(21); write(a[i]:3); end; fis(a, p1, p2); writeln('Произведение положительных элементов: ', p1); writeln('Произведение отрицательных элементов: ', p2); secon(a, h); writeln('Произведение элементов больше числа m: ', h); three(a, c); writeln('Количество положительных элементов: ', c); four(a); end.
Объяснение кода листинга программы
Список действий в коде:
- Ввод размера массива.
- Инициализация массива случайными числами.
- Вычисление произведения положительных и отрицательных элементов массива.
- Ввод числа m.
- Вычисление произведения элементов массива, больших числа m.
- Вывод количества положительных элементов в массиве.
- Реверсирование элементов массива.
- Вывод элементов массива в обратном порядке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д