• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Произведение Чисел В Последовательности

  • Автор темы tolyanl1985
  • Дата начала
T

tolyanl1985

Дана последовательность неотрицательных чисел, последнее из которых равно нулю, причём других равных нулю чисел в последовательности нет. Вычислить произведение положительных чисел этой последовательности

решил так:

program Posledovatelnost;
var
a,b:integer;
begin
Writeln('Введите через пробел последовательность положительных чисел, окончание ввода "0"');
read(a);
b:=1;
while a<>0 do begin
if a>0 then b:=b*a;
read(a);
end;
if b<>1 then writeln('Произведение положительных чисел последовательности = ',:)
else writeln('В последовательности кроме нуля нет элементов');
end.
;)
Оказывается неправильно, контрольную вернули! Осталась неделя, полный попенгаген! Помогите братцы!!!
Всё считает, но есть загвоздка когда вводишь последовательность "1 0" пишет ответ "В последовательности нет элементов" В чём ошибка подскажите плиз!!! Заранее огроменное спасибо
 
N

nayke

Код:
program Posledovatelnost; 
var 
a,b:integer; 
flag:boolean;
begin 
Writeln('Введите через пробел последовательность положительных чисел, окончание ввода "0"'); 
read(a); 
b:=1; 
flag:=false;
while a<>0 do begin 
if a>0 then 
begin 
flag:=true; 
b:=b*a; 
end;
read(a); 
end; 

if flag then writeln('Произведение положительных чисел последовательности = ',B) 
else writeln('В последовательности кроме нуля нет элементов'); 

end.
 
R

rrrFer

очевидно произведение последовательности из единиц равно 1, поэтому выполнится та ветка:
Код:
else writeln('В последовательности кроме нуля нет элементов');
 
T

tolyanl1985

Код:
program Posledovatelnost; 
var 
a,b:integer; 
flag:boolean;
begin 
Writeln('Введите через пробел последовательность положительных чисел, окончание ввода "0"'); 
read(a); 
b:=1; 
flag:=false;
while a<>0 do begin 
if a>0 then 
begin 
flag:=true; 
b:=b*a; 
end;
read(a); 
end; 

if flag then writeln('Произведение положительных чисел последовательности = ',B) 
else writeln('В последовательности кроме нуля нет элементов'); 

end.



Огромное Спасибо!!!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!