Когда читаешь подобные условия, возникает чувство, что оно плохо переведено с другого языка. Так вроде нет - в профиле указано, что язык русский и возраст 15 лет...
"Ввести натуральное число". Какое число, что оно должно обозначать? Ну хорошо, ввели некое число. Далее: "Ввести количество чисел". Количество - это значит, СКОЛЬКО чисел будет обрабатываться в программе. Допустим, 10. И теперь: "Найти произведение...". А где взять значения этих чисел? А нигде! Зато дадут "много ". Ни языка программирования, ни даже намека на то, что нужна программа. А может, программа и не нужна, а нужна блок-схема? ... И только определенный опыт подсказывает, что "Ввести натуральное число" на самом деле означает "Ввести количество чисел", а "Ввести количество чисел" на самом деле подразумевает ввести сами эти числа в указанном количестве.
var n,m,i:integer; p:longint; begin Write('Количество чисел: '); Read(n); p:=1; Writeln('Введите указанное количество целых чисел'); for i:=1 to n do begin Read(m); if m<0 then p:=p*m end; Writeln('Произведение отрицательных числе равно ',p) end.
Тестовое решение: Количество чисел: 6 Введите указанное количество целых чисел 45 -12 -2 6 0 -8 Произведение отрицательных числе равно -192
"Ввести натуральное число". Какое число, что оно должно обозначать? Ну хорошо, ввели некое число.
Далее: "Ввести количество чисел". Количество - это значит, СКОЛЬКО чисел будет обрабатываться в программе. Допустим, 10.
И теперь: "Найти произведение...". А где взять значения этих чисел? А нигде! Зато дадут "много ". Ни языка программирования, ни даже намека на то, что нужна программа. А может, программа и не нужна, а нужна блок-схема?
... И только определенный опыт подсказывает, что "Ввести натуральное число" на самом деле означает "Ввести количество чисел", а "Ввести количество чисел" на самом деле подразумевает ввести сами эти числа в указанном количестве.
var
n,m,i:integer;
p:longint;
begin
Write('Количество чисел: '); Read(n);
p:=1;
Writeln('Введите указанное количество целых чисел');
for i:=1 to n do begin
Read(m);
if m<0 then p:=p*m
end;
Writeln('Произведение отрицательных числе равно ',p)
end.
Тестовое решение:
Количество чисел: 6
Введите указанное количество целых чисел
45 -12 -2 6 0 -8
Произведение отрицательных числе равно -192