Найти удвоенную сумму положительных элементов массива - Turbo Pascal (35035)

Узнай цену своей работы

Формулировка задачи:

Дан массив целых чисел состоящий из 10 элементов. Заполнить его с клавиатуры Найти: -удвоенную сумму положительных элементов -и вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго)

Решение задачи: «Найти удвоенную сумму положительных элементов массива»

textual
Листинг программы
uses crt;
 
const
  nmax = 10;
  
var
  a : array [1..nmax] of integer;
  i, n : integer;
  sum : integer;
  
begin
  ClrScr;
  Repeat
    Write('N = ');
    Readln(n);
  until n in [1..nmax];
  Writeln('Введите элементы массива: ');
  for i := 1 to n do Readln(A[i]);
  ClrScr;
  Writeln('Исходный массив: ');
  for i := 1 to n do write(A[i], ' ');
  sum := 0;
  for i := 1 to n do if A[i] > 0 then sum := sum + A[i];
  Writeln;
  Writeln('Сумма положительных элементов: ', sum);
  Writeln('Индексы элементов: ');
  for i := 2 to n do
    if A[i] > A[i - 1] then Write(i, ' ');
  Readln;
  
end.

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

  1. Создаётся переменная a типа array [1..nmax] of integer, которая представляет собой массив для хранения чисел.
  2. Задаётся константа nmax, которая определяет максимальное количество элементов в массиве.
  3. Задаются две переменные i и n типа integer, которые будут использоваться для итерации по массиву и подсчета суммы положительных элементов соответственно.
  4. Создаётся переменная sum типа integer, которая будет использоваться для хранения суммы положительных элементов.
  5. Выводится сообщение с запросом ввода количества элементов в массиве n.
  6. Выводится сообщение с запросом ввода элементов массива.
  7. Очищается экран перед выводом исходного массива.
  8. Выводится исходный массив элементов.
  9. Инициализируется переменная sum значением 0.
  10. Запускается цикл for i := 1 to n do, который будет выполняться n раз, где n - введенное пользователем количество элементов.
  11. Внутри цикла проверяется условие if A[i] > 0 then sum := sum + A[i];, если элемент массива A[i] больше 0, то к переменной sum прибавляется значение A[i].
  12. После завершения внутреннего цикла выводится сумма положительных элементов.
  13. Выводится сообщение с запросом ввода индексов элементов массива.
  14. Запускается внешний цикл for i := 2 to n do, который будет выполняться n-1 раз, где n - введенное пользователем количество элементов.
  15. Внутри цикла проверяется условие if A[i] > A[i - 1] then Write(i, ' '); если элемент массива A[i] больше A[i - 1], то выводится его индекс i.
  16. После завершения внешнего цикла выводится сообщение с индексами элементов массива.
  17. Программа завершается после ввода ответа на вопрос Readln(A[i]);.

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

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