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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2008, 18:30   #1
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию Генератор чисел.

Как сделать на С++ генератор случайных чисел в диапазоне от 1 до 9?
TheWanderer вне форума Ответить с цитированием
Старый 15.10.2008, 18:36   #2
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

random(8)+1;
A_r_r_a_y вне форума Ответить с цитированием
Старый 15.10.2008, 18:41   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

int u = (double)rand() / (RAND_MAX + 1) * (9 - 1) + 1;
pu4koff вне форума Ответить с цитированием
Старый 15.10.2008, 20:03   #4
ivan89
Пользователь
 
Аватар для ivan89
 
Регистрация: 22.09.2008
Сообщений: 59
По умолчанию

#include <cstdlib>
srand(time(0))
int k=rand()%10;
ivan89 вне форума Ответить с цитированием
Старый 16.10.2008, 08:58   #5
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

При использование всех этих генераторов случайных чисел в программе появляется одна проблема, каждый раз используются одни и те же числа… Как сделать так что бы в программе генерировались бы разные числа. Собственно говоря, генератор чисел нужен для программы где проверяется знание таблицы умножения. Вот собственно сама программа:
Код:
#include "iostream"

using namespace std;

void main()
{
	setlocale(LC_ALL,"Russian");
	int x,y,z,a,b,d=0;
	for(a=0;a<10;a++)
	{
		x=rand()%10;
		y=rand()%10;
		b=x*y;
		printf("%i * %i = ",x,y); scanf("%i",&z);
		if(b==z)
		{
			d+=1;
		}
		else d-=1;
	}
	//cout<<d;
	if(d==10)
	{
		cout << "Отлично\n";
	}
	if(d==9,d==8)
	{
		cout << "Хорошо\n";
	}
	if(d==7,d==6)
	{
		cout << "удовлетворительно\n";
	}
	if(d<=6)
	{
		cout << "Плохо\n";
	}
}
TheWanderer вне форума Ответить с цитированием
Старый 16.10.2008, 09:32   #6
Hyena
 
Регистрация: 16.10.2008
Сообщений: 4
По умолчанию

Добавь в начале программы
randomize();
Hyena вне форума Ответить с цитированием
Старый 16.10.2008, 10:55   #7
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

сорри за тупой вопрос… но куда именно нужно добавить randomize(); ???
TheWanderer вне форума Ответить с цитированием
Старый 16.10.2008, 11:06   #8
Hyena
 
Регистрация: 16.10.2008
Сообщений: 4
По умолчанию

Я бы добавил перед циклом for.
Hyena вне форума Ответить с цитированием
Старый 16.10.2008, 11:23   #9
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

Добавляю перед for:
Код:
#include "iostream"

using namespace std;

void main()
{
	setlocale(LC_ALL,"Russian");
	int x,y,z,a,b,d=0;
	randomize();
	for(a=0;a<10;a++)
	{
		x=rand()%10;
		y=rand()%10;
		b=x*y;
		printf("%i * %i = ",x,y); scanf("%i",&z);
		if(b==z)
		{
			d+=1;
		}
		else d-=1;
	}
	if(d==10)
	{
		cout << "Отлично\n";
	}
	if(d==9,d==8)
	{
		cout << "Хорошо\n";
	}
	if(d==7,d==6)
	{
		cout << "Удовлетворительно\n";
	}
	if(d<6)
	{
		cout << "Плохо\n";
	}
}
Microsoft Visual Studio 2008 выдаёт ошибку:
1>------ Build started: Project: знание таблцы умножения, Configuration: Debug Win32 ------
1>Compiling...
1>знание таблицы умножения.cpp
1>d:\знание таблицы умножения.cpp(8) : error C3861: 'randomize': identifier not found
1>Build log was saved at "file://d:\знание таблцы умножения\Debug\BuildLog.htm"
1>знание таблцы умножения - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
TheWanderer вне форума Ответить с цитированием
Старый 16.10.2008, 11:58   #10
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

замучали паскальщики и борладдовцы.
автор, тебе же написали:
Код:
#include <cstdlib>
srand(time(0))
int k=rand()%10;
почему ты проигнорил строку srand(time(0))??? в сях используется srand вместо рандомайза. только заинклудь еще <time.h>

И еще:
Цитата:
1>знание таблицы умножения.cpp
у тя файл проекта в кириллице????????? стена тебя ждет
vvviperrr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
генератор случайных чисел на С++ ANTI Общие вопросы C/C++ 20 12.04.2009 13:02
Массивы и генератор случайных чисел Psyka Помощь студентам 6 31.07.2008 05:53
генератор псевдослучайных чисел - распределение elsin Общие вопросы Delphi 12 15.05.2008 16:07
Генератор случайных чисел в СМО Shoker Помощь студентам 1 13.10.2007 08:40
Свой генератор случайных чисел max4d Помощь студентам 15 03.04.2007 18:27