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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 16:40   #1
D_bl_M
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 28
По умолчанию ПЕРЕДЕЛАЙТЕ ПРОГРАММУ ТАК, ЧТОБЫ ОНА НИКОГДА НЕ ВЫВОДИЛА БОЛЕЕ 10 ЧИСЕЛ В ОДНОЙ СТРОКЕ

Шалом господа, жду от Вас мало-мальских советов и помощи. Спасибо
Тут такое дело, начал опять изучать С++, взял умную книгу и решаю задачки по мере прочтения, дык вот, немного не пойму как сделать такую вещь:
1. Напишите программу, которая запрашивает у пользователя два числа и выводит на стандартное устройство вывода все числа, которые находятся между ними. (ЭТО Я СДЕЛАЛ)
вот код
Код:
int main()
{
	int one, two;
	
	cout << "vvedite pervoe ";
	cin >> one;
	cout << endl;

	cout << "vvedite vtoroe ";
	cin >> two;
	cout << endl;

	cout << "promezhutochnie chisla " << endl;

	while (one < two)
	{
		cout << one << " ";
		++one;
	}
	return 0;
}
сразу подскажу, та вы и сами в принципе увидите что первое число должно быть меньше чем второе, а то прога не сработает )) это скажем так набросок. Да и проблема не в этом, есть второе условие задачки:
2. Что произойдет если в программе ввести числа 1000 и 2000? ПЕРЕДЕЛАЙТЕ ПРОГРАММУ ТАК, ЧТОБЫ ОНА НИКОГДА НЕ ВЫВОДИЛА БОЛЕЕ 10 ЧИСЕЛ В ОДНОЙ СТРОКЕ.
Вот собственно интересует как сделать это (ПЕРЕДЕЛАЙТЕ ПРОГРАММУ ТАК, ЧТОБЫ ОНА НИКОГДА НЕ ВЫВОДИЛА БОЛЕЕ 10 ЧИСЕЛ В ОДНОЙ СТРОКЕ)? Это основы, до строк еще не дошел.Если есть замечания к коду и критика, внимательно слушаю.
D_bl_M вне форума Ответить с цитированием
Старый 04.06.2010, 16:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ПЕРЕДЕЛАЙТЕ ПРОГРАММУ ТАК, ЧТОБЫ ОНА НИКОГДА НЕ ВЫВОДИЛА БОЛЕЕ 10 ЧИСЕЛ В ОДНОЙ СТРОКЕ.
Это не возможно. твоя программа итак никогда столько чисел не выведет потому как запрограммированна запрашивать только два числа
Может быть ты имел ввиду цифры чисел?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2010, 16:49   #3
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Код:
int main()
{
	int one, two;
	
	cout << "vvedite pervoe ";
	cin >> one;
	cout << endl;

	cout << "vvedite vtoroe ";
	cin >> two;
	cout << endl;

	cout << "promezhutochnie chisla " << endl;
             int k=1;
	while (one < two)
	{
		cout << one << " ";
		++one;
                          if (k%10==0) cout<<"\n";
                          k++;
	}
	return 0;
}
Если конечно правильно понял задание
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 04.06.2010, 16:57   #4
D_bl_M
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 28
По умолчанию

Цитата:
Это не возможно. твоя программа итак никогда столько чисел не выведет потому как запрограммированна запрашивать только два числа
Может быть ты имел ввиду цифры чисел?
В принципе я написал как это оформлено в книге, от себя добавлю чтоб внести ясность, результат должен выводиться на одной строке десять чисел и на второй 10 чисел и т.д.
mrChester спасибо, все работает не мог бы ты жевануть для меня вкратце вот это: if (k%10==0) ...
И еще хотел спросить, вопросов у меня будет уйма, мне что каждый раз создавать тему как гласят правила с описанием сути проблемы или можно одну тему создать и пихать туда все?
Спасибо за оперативность и за подсказки, в следующий раз постараюсь подробней описывать задачи, прошу прощения если что не так!
D_bl_M вне форума Ответить с цитированием
Старый 04.06.2010, 16:58   #5
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Лучше было делать for(), также ваша программа выводит лишнее первое число: например, если числа 1 и 3, она выведет 1 2. Единица - не между ними. Если вам так близок while, то лучше первую прогу написать так:
Код:
int main()
{
	int one, two;
	
	cout << "vvedite pervoe ";
	cin >> one;
	cout << endl;

	cout << "vvedite vtoroe ";
	cin >> two;
	cout << endl;
	if(one > two)
	{
		int temp = one;
		one = two;
		two = temp;
	}

	cout << "promezhutochnie chisla " << endl;

	while (++one < two) cout << one << " ";
	return 0;
}
Что касается второй, то тут вступают в силу недостатки while. Я бы сделал так:
Код:
int main()
{
	int one, two;
	
	cout << "vvedite pervoe ";
	cin >> one;
	cout << endl;

	cout << "vvedite vtoroe ";
	cin >> two;
	cout << endl;
	
	if(one > two)
	{
		int temp = one;
		one = two;
		two = temp;
	}

	cout << "promezhutochnie chisla " << endl;
	for(int i=1; i<two-one; i++)
	{
		cout<<one+i<<" ";
		if(i%10==0) cout<<endl;
	}
	return 0;
}
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."

Последний раз редактировалось Syuf; 04.06.2010 в 17:00.
Syuf вне форума Ответить с цитированием
Старый 04.06.2010, 17:08   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
можно одну тему создать и пихать туда все?
Нет. Нельзя.
Одна тема - один вопрос.
Другое дело если идет продолжение вопроса именно в рамках того что в теме, тогда да, можно продолжить, но только если следующий вопрос в посте непосредственно касается темы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.06.2010, 06:54   #7
D_bl_M
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 28
По умолчанию

Всем спасибо, все таки нужно было делать через for, это я прогнал... в книге как раз и тема была про for, ну да ладно ... скоро создам новую
тему можно закрываться!
D_bl_M вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все числа из массива B(n), встречающиеся более чем в одной строке матрицы A(m,n). Alexander89 Паскаль, Turbo Pascal, PascalABC.NET 2 16.10.2008 12:41
Какую программу можно написать на делфи чтобы она пользовалась большим спросом Xander Свободное общение 8 03.07.2008 16:11
Как сделать программу, чтобы она запускалась везде? grenles Общие вопросы C/C++ 3 11.06.2008 21:10
Возможно создать программу, чтобы она взламывала соеденение по мобильному телефону niva622 Свободное общение 3 01.05.2007 09:22
как сделать так чтобы при открытии второй формы олько она была активной doncova1 Общие вопросы Delphi 2 03.02.2007 19:34