Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
progra
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 26
#1

Генерация случайных чисел - C++

14.10.2011, 20:37. Просмотров 1018. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <time.h>
#include <stdlib.h>
using namespace std;
int main ()
{
     int x;
     setlocale(LC_CTYPE,"Russian");
     srand(time(NULL));
     x=rand()%100;
     printf("%d",x);
     getch ();
}
Ув. прогеры у меня такая проблемка, при запуске программы генерирует число, при последующих запусках генерирует число больше предыдущего, например 1 3 5 8 14 17 25 и т.д. т.е получается возрастающая последовательность, а не случайные числа... =((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2011, 20:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация случайных чисел (C++):

Генерация случайных чисел - C++
Здравствуйте! Мне нужно сгенерировать случайные числа, много и за секунду или быстрей. Можно ли использовать время компьютера с...

Генерация случайных чисел - C++
Здравствуйте, появилась такая проблема: при генерации случайного числа функцией rand(); мне нужно сгенерировать 5 случайных чисел, но...

генерация случайных чисел - C++
полазил по форумам, понял что лучшей конструкцией для ввода случайных чисел является: srand(time(NULL)); ... int r =...

Генерация случайных чисел - C++
Для генерации случайных чисел использую выражение: x = rand() % 4; Библиотеку &lt;cstdlib&gt; компилятор подключать не требует (VS12). ...

Генерация случайных чисел - C++
Вопрос такой: возможно ли при помощи функции random, устроить случайную генерацию одного из двух чисел? Например мне нужны числа 2 и 4.

Генерация случайных чисел - C++
Доброго времени суток ! Как генерировать случайное число например в диапазоне от 1 до 52 а потом исключить это число, и генерировать...

9
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
14.10.2011, 20:47 #2
Что за бред? Нормально все, выводит рандомное число от 0 до 99. Да и зачем тут:
C++
1
using namespace std;
когда
C
1
printf("%d",x);
стоит? Зачем вам пространство имен? Вы определитесь с или с++. Да и тут всего двумя библиотеками можно обойтись.
1
progra
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 26
14.10.2011, 20:50  [ТС] #3
Это просто начало программы, сразу все включил..

Добавлено через 1 минуту
Ну не знаю, у меня как то странно генерирует...
т.е. к примеру сгенерировало число 54, при следующем запуске программы сгенерирует число обязательно больше 54.. никак не меньше..
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
14.10.2011, 20:51 #4
Пробуй еще и еще, енто просто совпадение.
1
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.10.2011, 20:51 #5
Попробуйте в цикле генерировать и выводить
1
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
14.10.2011, 20:55 #6
Почитайте ещё верхнее сообщение здесь: http://www.cyberforum.ru/cpp-beginners/thread44753.html
Может там что найдёте.
1
progra
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 26
14.10.2011, 21:02  [ТС] #7
Спасибо всем за ответы, буду разбираться...
0
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,496
14.10.2011, 21:03 #8
Если ты генеришь рандомные числа в разных процессах или функциях, то могут быть сюрпризы. Скажи спасибо, что числа разные, у меня в разных процессах, запущенных один за другим, числа одинаковые. Старайся этого избегать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main () {
 srand (time(0));
 while (1) {
 
  //Для пущей рандомности это надо писать
  rand();
 
  printf ("%d\n  ",  rand ());
  getchar ();
 }
 return 0;
}
Добавлено через 51 секунду
Старайся то есть обходиться одним запуском программы.
1
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
17.10.2011, 21:04 #9
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <time.h>
#include <conio.h>
void main(){
        srand(unsigned(time(NULL)));
    int key=0;
    for(;key!=27;){
        int a=rand()%100; 
                std::cout<<a<<'\n';
        key=getch();}}
Все норм работает
1
amor1k
Студент
148 / 148 / 24
Регистрация: 18.01.2011
Сообщений: 469
17.10.2011, 21:53 #10
забыл скобку ( в 5 строке


оу, понял
0
17.10.2011, 21:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2011, 21:53
Привет! Вот еще темы с ответами:

генерация случайных чисел - C++
Написать программу, которая должна обеспечить исчисление количества повторений заданного числа по модулю 100. Характеристика должна быть...

Генерация случайных чисел - C++
Помогите пожалуйста с этой программой, я ни как не могу понять как ее зделать. Написать программу, которая генерирует три...

Генерация случайных чисел - C++
Мне нужно заполнить множество матриц числами 0 или 1. Для этого использую функцию rand. Но мне необходима совсем случайная...

Генерация случайных чисел С++ - C++
сгенерировать вещественные числа от 0 до 1(например,0,1;0,2;1,0; и т.д.) в этом случае выводит только 0 и 1: #include&lt;stdio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.