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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2010, 17:11   #1
Bob Dylan
 
Регистрация: 03.08.2010
Сообщений: 6
По умолчанию функция srand()

привет всем.написал программу которая нуждается в случайных числах.
в функции main() написал srand((unsigned) time(NULL)) А после него написал функцию rand() в цикле.по предположению каждый раз при работе, rand() должна была разные числа давать но так не происходит.почему то srand не работает.у меня visual studio 2008
спасибо
Bob Dylan вне форума Ответить с цитированием
Старый 18.08.2010, 17:59   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Код в студию, со всеми инклюдами
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 18.08.2010, 21:15   #3
Bob Dylan
 
Регистрация: 03.08.2010
Сообщений: 6
По умолчанию

#include <iostream>
#include <cstdlib>
#include <time.h>

int generator( void );

int main()
{
int x, anh;
char YN;
srand(( unsigned )time(NULL) );

std::cout << "mayo chislo mejdu 1-1000 \n"
<< "vi mojite evo otgadat\n"
<< "pojalusta napichatoite vashu pervuyu dagatku." << std::endl;

std::cin >> x;
while ( x != -1 ) {

anh = generator();
if ( anh == x ) {
std::cout << "OTLICHNO!vi otgadali chislo\n"
<< "xateli bi vi sigrat(Y ili N)\n";
std::cin >> YN;

if ( YN == 'Y') {
std::cout << "mayo chislo mejdu 1-1000 \n"
<< "vi mojite evo otgadat\n"
<< "pojalusta napichatoite vashu pervuyu dagatku." << std::endl;
std::cin >> x;
}
else {
std::cout << "PROGRAMMA ZAVERSHENA.\n\n\n";
break;
}
}
else if ( anh > x ) {
std::cout << "slishkom malo.papitaites snova.";
std::cin >> x;
}
else if ( anh > x ) {
std::cout << "slishkom mnogo.papitaites snova.";
std::cin >> x;
}

}

return 0;
}
int generator( void )
{
int gen;

gen = ( rand()%1000 + 1 );

return gen;
}

это упражнение из книги Дейтела.
Bob Dylan вне форума Ответить с цитированием
Старый 18.08.2010, 21:41   #4
sever-42
Пользователь
 
Регистрация: 22.04.2010
Сообщений: 96
По умолчанию

Код:
anh = generator();
std::cin >> x;
while ( x != -1 ) {
	if ( anh == x ) {
		std::cout << "OTLICHNO!vi otgadali chislo\n"
			<< "xateli bi vi sigrat(Y ili N)\n";
		std::cin >> YN;
	if ( YN == 'Y') {
		std::cout << "mayo chislo mejdu 1-1000 \n"
			<< "vi mojite evo otgadat\n"
			<< "pojalusta napichatoite vashu pervuyu dagatku." << std::endl;
		std::cin >> x;
		}
	else {
		std::cout << "PROGRAMMA ZAVERSHENA.\n\n\n";
		break;
		}
	}
	else if ( anh > x ) {
		std::cout << "slishkom malo.papitaites snova.";
		std::cin >> x;
	}
	else if ( anh < x ) {
		std::cout << "slishkom mnogo.papitaites snova.";
		std::cin >> x;
	}
}
функцию generator() надо ставить вне цикла while(), иначе anh на каждой итерации получает новое значение, и со знаками >< напутали.
include <Qt>

Последний раз редактировалось sever-42; 18.08.2010 в 21:44.
sever-42 вне форума Ответить с цитированием
Старый 18.08.2010, 22:10   #5
Bob Dylan
 
Регистрация: 03.08.2010
Сообщений: 6
По умолчанию

большое спасибо.
Bob Dylan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция Get DarkDante Общие вопросы C/C++ 2 26.03.2010 22:23
Функция NeosPasha Помощь студентам 0 25.01.2010 13:01
ИФ функция fatal_err0r Microsoft Office Excel 2 18.03.2009 17:05
функция sergei64_89 Общие вопросы C/C++ 2 25.05.2008 16:48
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50