Что делать, если команда rand() выводит одно число несколько раз? C++ - Вопросы по С+

Вопрос Что делать, если команда rand() выводит одно число несколько раз? C++

Регистрация
17 Апр 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
#include

using namespace std;

int main()
{
int a;
setlocale(LC_ALL, "Russian");
cout << "Введите размер массива: ";
cin >> a;

int *ptr_away = new int[a];

for (int i = 0; i < a; i++)
{
ptr_away = rand() % 100;
}
for (int i = 0; i < a; i++)
{
cout << " " << *ptr_away;
}
cout << " " << endl;
cout << "Спасибо за работу со мной!" << endl;

delete[] ptr_away;
cin.get();
return 0;

}
 
Регистрация
6 Дек 2012
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Да всё просто же: в последнем цикле первый элемент *ptr_away всё время распечатывается. Почему не ptr_away?
 

NIK

Capitan

NIK

Capitan
Регистрация
4 Апр 2013
Сообщения
71
Репутация
0
Спасибо
0
Монет
0
Это свойство любых случайных событий - они могут повторяться. Если тебе это мешает, значит, твои события не случайны и эта функция в чистом виде тебе не подходит. Напиши свою функцию, которая будет давать уникальные значения.
 
Регистрация
9 Июл 2013
Сообщения
68
Репутация
1
Спасибо
1
Монет
0
чтобы рандомное число от rand() - не повторялось обнови Генератор случайных чисел -- srand ( time(NULL) ); // вместо time() можете указать свое число -- Функция srand выполняет инициализацию генератора случайных чисел rand. --- Генератор псевдо-случайных чисел инициализируется с -- помощью аргумента seed, который играет роль зерна. пример функции srand() cppstudio.com/post/841/
 
Сверху Снизу