Форум программистов, компьютерный форум CyberForum.ru

srand и rand - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
28.03.2013, 09:47     srand и rand #1
Здравствуйте.
Надо заполнить массив единицами и нулями.

Код
srand (time (NULL));
for (int i=0; i<size; i++){
	val[i]=rand()%2;
}
Постоянно заполняет массив единицами и нулями поровну Как сделать так, чтобы заполнял как попало?

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2013, 09:47     srand и rand
Посмотрите здесь:

rand() & srand() C++
C++ Srand
srand C++
rand, srand и т.д C++
C++ srand(), rand() и их seed
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.03.2013, 10:21     srand и rand #2
Цитата Сообщение от Alendorff Посмотреть сообщение
Постоянно заполняет массив единицами и нулями поровну
ну как бы так и задумано. У rand() равномерное распределение чисел.
Цитата Сообщение от Alendorff Посмотреть сообщение
Как сделать так, чтобы заполнял как попало?
Ну например так
C++
1
2
3
4
srand (time (NULL));
for (int i=0; i<size; i++){
    val[i]=(int)(!!(rand()%10)); // !! - приведение к bool
}
единиц будет раз в 10 больше, чем нулей.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
28.03.2013, 11:00     srand и rand #3
Alendorff, можно сначала с генерировать случайное число от 1 до 100 как эталонное. потом в цикле генерировать числа от 1 до 100 и если больше эталонного то 1 иначе 0
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
28.03.2013, 14:53  [ТС]     srand и rand #4
Да, я уже тоже придумал похожий изврат ))
Yandex
Объявления
28.03.2013, 14:53     srand и rand
Ответ Создать тему
Опции темы

Текущее время: 20:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru