Найти удвоенную сумму положительных элементов массива - 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.
Объяснение кода листинга программы
- Создаётся переменная
a
типаarray [1..nmax] of integer
, которая представляет собой массив для хранения чисел. - Задаётся константа
nmax
, которая определяет максимальное количество элементов в массиве. - Задаются две переменные
i
иn
типаinteger
, которые будут использоваться для итерации по массиву и подсчета суммы положительных элементов соответственно. - Создаётся переменная
sum
типаinteger
, которая будет использоваться для хранения суммы положительных элементов. - Выводится сообщение с запросом ввода количества элементов в массиве
n
. - Выводится сообщение с запросом ввода элементов массива.
- Очищается экран перед выводом исходного массива.
- Выводится исходный массив элементов.
- Инициализируется переменная
sum
значением 0. - Запускается цикл
for i := 1 to n do
, который будет выполнятьсяn
раз, гдеn
- введенное пользователем количество элементов. - Внутри цикла проверяется условие
if A[i] > 0 then sum := sum + A[i];
, если элемент массиваA[i]
больше 0, то к переменнойsum
прибавляется значениеA[i]
. - После завершения внутреннего цикла выводится сумма положительных элементов.
- Выводится сообщение с запросом ввода индексов элементов массива.
- Запускается внешний цикл
for i := 2 to n do
, который будет выполнятьсяn-1
раз, гдеn
- введенное пользователем количество элементов. - Внутри цикла проверяется условие
if A[i] > A[i - 1] then Write(i, ' ');
если элемент массиваA[i]
большеA[i - 1]
, то выводится его индексi
. - После завершения внешнего цикла выводится сообщение с индексами элементов массива.
- Программа завершается после ввода ответа на вопрос
Readln(A[i]);
.