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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.03.2008, 12:22   #11
alexx777
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 75
По умолчанию

Функция srand() записывает передаваемое ей значение в какую-то переменную, которую потом использует функция rand() для генерирования псевдослучайного чиса. Эта переменная по умолчанию имеет значение. И если убрать обращение к функции srand(), последовательность чисел будет генерироваться на основе этого значения. Но в таком случае при каждом запуске программы ты получишь одну и ту же последовательность псевдослучайных чисел.

Если ты инициализируешь генератор только в функции main(), лучше использовать функцию time() или комбинацию time() и clock() (например time(NULL)|clock()). Функцию clock() рационально использовать, если генератор нужно переинициализировать с частотой, меньшей чем одна секунда (например между нажатием пользователя на клавиши). Да и в этом случае желательно использовать конструкции типа time(NULL)|clock(). При использовании только clock() Часто бывает так, что при нескольких запусках программы, генерируется одинаковая последовательность чисел.
alexx777 вне форума
Старый 09.03.2008, 12:52   #12
Ceprey
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 47
По умолчанию

Спасибо! Стало понятнее! Дело в том, что не несколько, а 10 раз запускал с вариантом clock - была одинаковая последовательность чисел. Поменял на time - все класс.
Ceprey вне форума
Старый 15.03.2008, 08:45   #13
ANTI
Пользователь
 
Регистрация: 04.03.2008
Сообщений: 13
По умолчанию

Я пользуюсь Dev C++,функция read() у меня почему то не срабатывает
билиотеку <stdlib> прописываю.
ANTI вне форума
Старый 15.03.2008, 08:51   #14
ANTI
Пользователь
 
Регистрация: 04.03.2008
Сообщений: 13
По умолчанию

Мне бы знать как генерируются числа без использования
функции read().
ANTI вне форума
Старый 15.03.2008, 12:27   #15
alexx777
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 75
По умолчанию

1) При чём эдесь функция read()?

2) Функция rand() присутствует в библиотеке Dev-C++.

3) Если нужно написать свой генератор, то придумай свой алгоритм, используя функцию time() или структуру SYSTEMTIME.
alexx777 вне форума
Старый 15.03.2008, 16:36   #16
ANTI
Пользователь
 
Регистрация: 04.03.2008
Сообщений: 13
Радость

Цитата:
Сообщение от alexx777 Посмотреть сообщение
1) При чём эдесь функция read()?

2) Функция rand() присутствует в библиотеке Dev-C++.

3) Если нужно написать свой генератор, то придумай свой алгоритм, используя функцию time() или структуру SYSTEMTIME.

У меня опыту то с гулькин ... , третью неделю всего вгрызаюсь в С++,
логического мышления пока не хватает.
ANTI вне форума
Старый 15.03.2008, 16:47   #17
alexx777
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 75
По умолчанию

Код:
#include <cstdlib>
using std::srand;
using std::rand;
#include <time.h>

int main(){
 srand(time(0)); // Инициализируем генератор текущим временем.
 int rand_1 = rand(); // Случайное число.
 int rand_2 = rand()%10; // Случайное число в пределах от 0 включительно до 10 исключительно.
}
alexx777 вне форума
Старый 15.03.2008, 17:18   #18
ANTI
Пользователь
 
Регистрация: 04.03.2008
Сообщений: 13
Хорошо

Цитата:
Сообщение от alexx777 Посмотреть сообщение
Код:
#include <cstdlib>
using std::srand;
using std::rand;
#include <time.h>

int main(){
 srand(time(0)); // Инициализируем генератор текущим временем.
 int rand_1 = rand(); // Случайное число.
 int rand_2 = rand()%10; // Случайное число в пределах от 0 включительно до 10 исключительно.
}
БОЛЬШОЕ CПОСИБО.
ANTI вне форума
Старый 12.04.2009, 11:30   #19
op3334
Новичок
Джуниор
 
Регистрация: 12.04.2009
Сообщений: 2
По умолчанию

Как модифицировать rand, чтобы функция выдавала значение к примеру от -200 до 200?
op3334 вне форума
Старый 12.04.2009, 12:33   #20
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от op3334
Как модифицировать rand, чтобы функция выдавала значение к примеру от -200 до 200?
Код:
rand()%401 - 200
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы и генератор случайных чисел Psyka Помощь студентам 6 31.07.2008 05:53
выборка случайных чисел furstenberg Общие вопросы Delphi 2 13.01.2008 21:07
генератор случайных чісел Baron Помощь студентам 7 17.11.2007 00:55
Генератор случайных чисел в СМО Shoker Помощь студентам 1 13.10.2007 08:40
Свой генератор случайных чисел max4d Помощь студентам 15 03.04.2007 18:27