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

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

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

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

07.03.2014, 18:12. Просмотров 561. Ответов 12
Метки нет (Все метки)

Здравствуйте, появилась такая проблема:
при генерации случайного числа функцией rand();
мне нужно сгенерировать 5 случайных чисел, но они все одинаковые, если написать вот так:
srand(time(NULL)); то числа будут меняться только при перезапуске, но всё равно все будут одинаковые
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2014, 18:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация случайных чисел (C++):

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

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

Генерация случайных чисел - C++
Как в С сгенирировать последовательность случайных чисел от x до y.Например от 1 до 100.

Генерация случайных чисел - C++
#include <stdio.h> #include <conio.h> #include <clocale> #include <time.h> #include <stdlib.h> using namespace std; int main ()...

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

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

12
raccoonlove
Заблокирован
07.03.2014, 18:14 #2
Цитата Сообщение от Armando111 Посмотреть сообщение
но всё равно все будут одинаковые
То есть?
0
0x10
2482 / 1657 / 249
Регистрация: 24.11.2012
Сообщений: 4,125
07.03.2014, 18:15 #3
Armando111, код в студию.
0
Armando111
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 228
07.03.2014, 18:17  [ТС] #4
ну мне нужно 5 чисел, при перезапуске программы они меняются, но все одинаковые, а нужно что б были разные

Добавлено через 2 минуты
C++
1
2
3
4
 srand(time(NULL));
work[workcount-1].count = mingold + rand() % maxgold;
  work[workcount-1].rescoutiron = miniron + rand() % maxiron;
  work[workcount-1].rescoutder = minderevo + rand() % maxderevo;

C++
1
2
3
4
5
6
7
8
    for(int i = 0; i < maxwork; i++)
    {
    
    cout << work[workcount-1].count << endl;
  cout << work[workcount-1].rescoutiron << endl;
  cout << work[workcount-1].rescoutder << endl;
  cout << "" << endl;
    }
0
0x10
2482 / 1657 / 249
Регистрация: 24.11.2012
Сообщений: 4,125
07.03.2014, 18:19 #5
Armando111, я и говорю: покажите как генерите, что ерунда происходит.
Вангую, что srand вызывается внутри цикла.

Добавлено через 1 минуту
Цикл по i, а обращение происходит всегда к последнему элементу массива.
1
Armando111
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 228
07.03.2014, 18:19  [ТС] #6
поставил внутрь, всё равно тоже самое
0
raccoonlove
Заблокирован
07.03.2014, 18:21 #7
Armando111, srand нужно использовать только раз, при входе в int main().
0
Armando111
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 228
07.03.2014, 18:24  [ТС] #8
Цитата Сообщение от raccoonlove Посмотреть сообщение
Armando111, srand нужно использовать только раз, при входе в int main().
я думаю вы меня не поняли
0
0x10
2482 / 1657 / 249
Регистрация: 24.11.2012
Сообщений: 4,125
07.03.2014, 18:24 #9
Armando111, смотрите по какому индексу обращаетесь к элементу массива - сказал же выше.
0
Armando111
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 228
07.03.2014, 18:27  [ТС] #10
Цитата Сообщение от 0x10 Посмотреть сообщение
смотрите по какому индексу обращаетесь к элементу массива - сказал же выше.
и как мне сделать?
0
0x10
2482 / 1657 / 249
Регистрация: 24.11.2012
Сообщений: 4,125
07.03.2014, 18:31 #11
Armando111,
C++
1
2
for(int i = 0; i < maxwork; i++)
     work[i]....
0
raccoonlove
Заблокирован
07.03.2014, 18:31 #12
Вот человек же. Да выложите код, может мы поймём что-то из того кошмара, который у вас в рассуждениях творится.
0
Armando111
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 228
07.03.2014, 18:34  [ТС] #13
Ни как не получаеться
0
07.03.2014, 18:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2014, 18:34
Привет! Вот еще темы с ответами:

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

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

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

Генерация случайных чисел - C++
Подскажите пожалуйста правильно ли я осуществил перевод строк из С в С++, сомневаюсь С - randomize(); С++ - srand(NULL); С ...


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

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

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