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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.02.2011, 11:52   #1
exzi11
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 10
Вопрос Решение задач в C++

Какого вида должно быть решение. Дело в том что пытаюсь решить данную задачу ( решаю на сайте):

Задача :

Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0).

Числа, следующие за числом 0, считывать не нужно.

Ввод
1
7
9
0
5

Вывод
3




Решение на C++ :

Код:
 
#include <iostream>
using namespace std;
 
	int main()
{
int x;
int y=0;
  while (x!=0)
	{
		cin>>x;
		if (x==0) 
			continue;
		y++;
	}
 
cout<<y;
return 0;
}

Дело в том, что сайт данное решение не принимает. Говорит что Неправильный ответ ( хотя по сути ответ выходит правильный)

Однако ту же самую программу но на Delphi принимает нормально

Решение на Delphi:

Код:
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
x:integer;
y:integer;
begin
y:=0;
while (x<>0) do
 begin
  readln(x);
  if (x=0) then
  continue;
   y:=y+1;
 end;
writeln(y);
 
end.

В чем дело? Мб я на C++ как-то нитак оформляю?
exzi11 вне форума
Старый 07.02.2011, 12:54   #2
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию

но после нуля программа останавливается
1
7
9
0
5 -------- ты не можешь написать
скажи какой сайт
Акоб вне форума
Старый 07.02.2011, 13:16   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include <iostream>
using namespace std;
 
	int main()
{
int x=0;
int y=0;
  for(cin>>x;x;y++)	cin>>x;
  cout<<y;
return 0;
}
I'm learning to live...
Stilet вне форума
Старый 07.02.2011, 13:41   #4
exzi11
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Акоб Посмотреть сообщение
но после нуля программа останавливается
1
7
9
0
5 -------- ты не можешь написать
скажи какой сайт
Это так на сайте написанно.
вот сама задача

Код:
http://informatics.mccme.ru/moodle/mod/statements/view.php?id=2585
exzi11 вне форума
Старый 07.02.2011, 13:55   #5
exzi11
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 10
Счастье

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
#include <iostream>
using namespace std;
 
	int main()
{
int x=0;
int y=0;
  for(cin>>x;x;y++)	cin>>x;
  cout<<y;
return 0;
}
Спс прошло. но можете объяснить, чем отличаться от предыдущего и как работает? и почему ваш вариант прошел, а мой нет? ^^

Последний раз редактировалось exzi11; 07.02.2011 в 14:02.
exzi11 вне форума
Старый 07.02.2011, 14:23   #6
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

У тебя при x=0 оно выходит из while и перестаёт принимать ввод
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 07.02.2011 в 14:49.
Obey-Kun вне форума
Старый 07.02.2011, 15:43   #7
VadikV
Форумчанин
 
Аватар для VadikV
 
Регистрация: 08.01.2011
Сообщений: 226
По умолчанию

ты не инициализируешь в начале программы x.
вот твой цикл ни разу и не отрабатывает.
нужно было написать вот так:
int x = 1;
icq 223-630-454
e-mail vysotskiy@list.ru
сайт http://www.big-library.net/
VadikV вне форума
Старый 08.02.2011, 03:42   #8
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
Радость

Цитата:
Сообщение от VadikV Посмотреть сообщение
ты не инициализируешь в начале программы x.
вот твой цикл ни разу и не отрабатывает.
нужно было написать вот так:
int x = 1;
ну и что, каков процент что при компеляции x = 0;
x скорее всего какая-то хрень,и на Дельфи программа была написана аналагичная.
Акоб вне форума
Старый 08.02.2011, 09:22   #9
exzi11
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Акоб Посмотреть сообщение
ну и что, каков процент что при компеляции x = 0;
x скорее всего какая-то хрень,и на Дельфи программа была написана аналагичная.
Не поверишь но проблема была именно в этом. сделал в своем старом коде x=1 и все прошло.
exzi11 вне форума
Старый 05.04.2011, 21:25   #10
Тинг
 
Регистрация: 05.04.2011
Сообщений: 3
По умолчанию

Помогите решить задачу. Нужно создать иерархию объектов, которые представляют собой структурные подразделения Вуза.
Тинг вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задач imhotep Помощь студентам 18 20.02.2012 17:03
решение задач tp junger@ Помощь студентам 4 16.11.2010 16:29
Решение задач Irusik Паскаль, Turbo Pascal, PascalABC.NET 10 11.10.2010 18:48
Решение задач!!! Alex Disturbed Помощь студентам 0 27.09.2010 10:15
решение задач sider Фриланс 7 22.12.2008 10:25