Найти произведение только тех чисел, которые больше заданного числа 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.

Объяснение кода листинга программы

Список действий в коде:

  1. Ввод размера массива.
  2. Инициализация массива случайными числами.
  3. Вычисление произведения положительных и отрицательных элементов массива.
  4. Ввод числа m.
  5. Вычисление произведения элементов массива, больших числа m.
  6. Вывод количества положительных элементов в массиве.
  7. Реверсирование элементов массива.
  8. Вывод элементов массива в обратном порядке.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы