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