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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2011, 13:56   #1
БалаШагаЛ
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 131
По умолчанию Реально случайные значения

Вобщем, вот самый простенький код:
Код:
#include <iostream>
#include <stdlib.h>

int main()
{
    int a;
    a=rand()%100+1;
    std::cout << a;
}
Вроде бы должно выдавать случайное значение a от 1 до 100, и оно его даже выдаёт, но при повторном запуске программы выдаёт то же значение, что и в первый раз. Как сделать так, чтобы значение отличались? Компилятор - Code Blocks. Заранее всем спасибо.
БалаШагаЛ вне форума Ответить с цитированием
Старый 16.04.2011, 14:02   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
/* rand example: guess the number */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
  int iSecret, iGuess;

  /* initialize random seed: */
  srand ( time(NULL) );

  /* generate secret number: */
  iSecret = rand() % 10 + 1;

  do {
    printf ("Guess the number (1 to 10): ");
    scanf ("%d",&iGuess);
    if (iSecret<iGuess) puts ("The secret number is lower");
    else if (iSecret>iGuess) puts ("The secret number is higher");
  } while (iSecret!=iGuess);

  puts ("Congratulations!");
  return 0;
}
Hemul вне форума Ответить с цитированием
Старый 16.04.2011, 18:43   #3
blacktener
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 78
По умолчанию все проще

ну короче смысл в том что надо писать в начале программы
srand(time(0));
ну или
srand(time(NULL));
тогда числа будут разные
blacktener вне форума Ответить с цитированием
Старый 16.04.2011, 20:54   #4
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
Реально случайные значения
На данный момент нет ни одного алгоритма для получения "реально случайных чисел". Что касается генератора псевдослучайных чисел, которым вы пытаетесь пользоваться - инициализируйте его как показано выше (#2).
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 17.04.2011, 17:40   #5
Trust_357
Пользователь
 
Регистрация: 10.03.2011
Сообщений: 68
По умолчанию

srand((unsigned)time(NULL));
Trust_357 вне форума Ответить с цитированием
Старый 18.04.2011, 07:06   #6
БалаШагаЛ
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 131
По умолчанию

Вау! Класс! Спасибо всем!
БалаШагаЛ вне форума Ответить с цитированием
Старый 18.04.2011, 08:32   #7
vladxxl
Пользователь
 
Регистрация: 27.11.2010
Сообщений: 16
По умолчанию

можно ещё сразу после
Код:
int main()
{
........
написать
Код:
randomize();
будет тот же эффект
vladxxl вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
случайные числа NeVerSS Общие вопросы Delphi 3 01.10.2010 22:22
случайные значения, использование функции rand() Matr1x Общие вопросы C/C++ 3 10.02.2010 11:02
Случайные числа severin Помощь студентам 8 02.02.2010 17:35
Случайные велечины Sam04 Помощь студентам 4 16.06.2008 01:31