Найти, сколько положительных элементов массива удовлетворяют условию - Free Pascal
Формулировка задачи:
Дано условие :
Задав одномерный массив целочисленных данных А в одном из заданных форматов (BYTE, WORD, SHORTINT, INTEGER или LONGINT), реализовать обработку массива, как указано в варианте. Длина массива N<=20. Исходные данные задать самостоятельно, учитывая формат элементов массива A - LONGINT;
Найти, сколько положительных элементов массива A={a[i]} удовлетворяют условию: с <= a[i] <= d.
Находил ,подходящую под это описание, программу , но там было всё так мудрёно , что я даже растерялся , аж томик Павловской выпал из рук. Спасайте , братцы!Решение задачи: «Найти, сколько положительных элементов массива удовлетворяют условию»
textual
Листинг программы
const
n = 20; {указываю максимально возможное по условию, можно изменить
или вообще по другому массив сформировать}
var
a : array [1..n] of longint;
c, d : longint;
k, i : byte;
begin
k := 0;
{формируем массив}
randomize;
for i := 1 to n do a[i] := random(1000) * random(1000);
{выводим}
writeln('значения массива:');
for i := 1 to n do write(a[i]:10);
writeln;
{ввод условия}
repeat
write('введите c и d (c < d): ');
readln(c, d);
if c >= d then writeln('ошибка ввода, повторите ввод')
until c < d;
{провеляем и считаем кол-во}
for i := 1 to n do
if (a[i] >= c) and (a[i] <= d) then k := k + 1;
{результат}
writeln('количество: ', k);
readln
end.
Объяснение кода листинга программы
- Объявляются переменные:
- n - максимально возможное количество элементов массива
- a - массив, в котором будут храниться числа
- c, d - числа, между которыми будет производиться подсчет удовлетворяющих условию элементов
- k - счетчик, инициализируется нулем
- i - переменная-счетчик для циклов
- Заполняется массив случайными числами от 1 до 1000 с помощью функции random и оператора умножения.
- Выводится на экран содержимое массива с помощью цикла и функции write.
- В цикле repeat запрашивается ввод чисел c и d, и проверяется корректность ввода (c должно быть меньше d).
- Если ввод корректен, то в цикле for производится проверка каждого элемента массива на удовлетворение условию c < a[i] < d, и если условие выполняется, то к переменной k прибавляется единица.
- Выводится на экран количество элементов, удовлетворяющих условию.