Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2012, 20:11   #1
tolyanl1985
 
Регистрация: 10.11.2012
Сообщений: 9
По умолчанию

Братцы, помогите плиз на паскале задачку решить, кантроху через неделю здавать запарился уже!


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


Заранее огромное спасибо!!!
Код:
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('Произведение положительных чисел последовательности = ',b) 
else writeln('В последовательности кроме нуля нет элементов'); 
end.
Помогите пожалуйста!!!

Последний раз редактировалось Stilet; 19.11.2012 в 20:33.
tolyanl1985 вне форума Ответить с цитированием
Старый 19.11.2012, 20:31   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Могу посоветовать заменить Read на ReadLn , ну, и тогда не пробелом отделять, а каждый раз энтером новое число вводить.
phomm вне форума Ответить с цитированием
Старый 19.11.2012, 20:47   #3
tolyanl1985
 
Регистрация: 10.11.2012
Сообщений: 9
Восклицание

Тоже самое будет, дело в том что он не считает когда в последовательности идёт только 1 и 0, остальное считает правильно
tolyanl1985 вне форума Ответить с цитированием
Старый 19.11.2012, 21:00   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Ну, так, естественно. Если условие заканчивает ввод по нулю, а при единицах произведение равно единице, которое у Вас показатель , что вообще ещё никакое число не было введено.
Мой совет - введите под признак введения чисел иную переменную, чем для накопления результата умножения.
phomm вне форума Ответить с цитированием
Старый 19.11.2012, 21:07   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,371
По умолчанию

Что-то не очень ясен вопрос.
Отмечу, что в задании не говорится, что последовательность состоит из целых чисел. Т.о. можно и так:
Код:
program Posledovatelnost; 
var 
a,b:real;
n: integer;

begin 
   Writeln('Вычисляем произведение положительных чисел.'); 
   a := 1; b:=1; n := 0;
   while a<>0 do
   begin 
      Writeln('Введите положительное число. Окончание ввода "0"'); 
      readln(a);
      if a>0 then
      begin
         b:=b*a;
         n:=n+1;
     end;
   end; 
   if (n > 0) then
   begin
      writeln('Введено ', n, ' чисел.');
      writeln('Произведение чисел = ',b:10:4);
   end 
   else
      writeln('В последовательности нет элементов.'); 
end.

Как-то так получилось ...
Как-то так, ...

Последний раз редактировалось ViktorR; 19.11.2012 в 21:36.
ViktorR вне форума Ответить с цитированием
Старый 19.11.2012, 21:23   #6
tolyanl1985
 
Регистрация: 10.11.2012
Сообщений: 9
По умолчанию

Огромное спасибо!!! Респект и уважуха
tolyanl1985 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вводится 10 чисел. Найти среднее арифметическое положительных чисел и произведение отрицательных. Руся93 Помощь студентам 14 02.10.2011 13:12
С\С++ Дана последовательность чисел. Найти количество различных чисел в этой последовательности yuliyayuliya Помощь студентам 1 14.04.2011 06:30
Определить k-ую цифру последовательности Фибоначчи и последовательности натуральных чисел. Med Помощь студентам 1 20.03.2009 11:40
Вычислить произведение P кубов трех чисел a, b и c, если их сумма меньше нуля, произведение P модулей NoUserName Помощь студентам 3 01.03.2009 18:10
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53