Найти произведение последних L отрицательных элементов в массиве - Pascal (8287)
Формулировка задачи:
19) Shortint
Найти произведение последних L отрицательных элементов в массиве A={a[i]}.
Решение задачи: «Найти произведение последних L отрицательных элементов в массиве»
textual
Листинг программы
uses crt;
const nmax=100;
var a:array[1..nmax] of shortint;
n,i,k,L:byte;
s:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
begin
a[i]:=random(256)-128;
write(a[i]:5);
end;
writeln;
writeln;
write('Введите количество отрицательных элементов L=');
readln(L);
s:=0;
i:=n;k:=0;
while (i>0)and(k<L) do
begin
if a[i]<0 then
begin
k:=k+1;
s:=s+a[i];
end;
i:=i-1;
end;
if k<L then write('В массиве нет ',L,' отрицательных элементов')
else write('Сумма последних ',L,' отрицательных=',s);
readln
end.
Объяснение кода листинга программы
В данном коде используется язык программирования Pascal. Он предназначен для решения задач, связанных с обработкой данных. Переменные в этом коде имеют следующие значения и названия:
- nmax: максимальное значение числа элементов в массиве, равно 100.
- n: текущее значение числа элементов в массиве.
- i: текущий индекс элемента массива.
- k: количество уже найденных отрицательных элементов.
- L: количество требуемых отрицательных элементов.
- s: сумма всех отрицательных элементов.
- a: массив, в котором хранятся числа от -128 до 127.
Код начинается с инициализации переменной nmax и объявления переменных n, i, k, L и s. Затем происходит чтение размера массива от пользователя и вывод этого размера.
Далее, для каждого элемента массива выполняется следующая последовательность действий:
- Вычисляется значение a[i] и выводится на экран.
- Если значение a[i] меньше нуля, то увеличивается значение k на единицу и переменная s вычисляется как сумма a[i] и предыдущего значения s.
- Индекс i уменьшается на единицу. После этого проверяется, было ли найдено достаточное количество отрицательных элементов. Если нет, то выводится сообщение об этом. В противном случае выводится сумма всех отрицательных элементов. Код завершается после ввода пользователем количества требуемых отрицательных элементов L и вывода результата.