Титла: случайни числа Публикувано от: vstoykov в Jul 25, 2006, 17:22 При всяко стартиране на програмата "случайните числа" са еднакви. Това нормално ли е?
http://d.interbild.net/vstoykov/tmp/screenshots/random.png Титла: случайни числа Публикувано от: winboze в Jul 25, 2006, 17:44 Доколкото си спомням, май в C трябва да се използва randomize() преди rand(). Пробвай в началото на main() да сложиш
randomize(); Титла: случайни числа Публикувано от: sdr в Jul 25, 2006, 17:52 Истината е в /dev/urandom иначе се позлва ранодм генератора на стандартната библиотека а той може да не е много добъ. За гарантирано добър генератор си намери имплементация на Mersenne Twister
Титла: случайни числа Публикувано от: mironcho в Jul 25, 2006, 21:26 Тука има няколко примера за псевдо генератор:
http://cplus.about.com/od/cprogrammingtips/l/aa041403a.htm Титла: случайни числа Публикувано от: VladSun в Jul 25, 2006, 21:55
За това му казват Генератор на Псевдослучайни Числа ![]() Съветите, които са ти дали по-горе ще ти свършат работа, ако наистина искаш при всяко пускане да са различни числата. Има случаи, в които, обаче ти трябва една и съща поредица от "случайни числа". Всичко това зависи от така наречения "seed". Това е число от което почва да се генерира псевдослучайната поредица. Ако искаш различни числа, то за "seed" трябва да избереш число получено от достатъчно случаен фактор - системното време в милисекунди, координатите от точки получени от движението на мишката или други подобни. Искам да кажа, че учудването ти може да е негативно, но в някои случаи псевдослучайността е полезна. Титла: случайни числа Публикувано от: в Jul 26, 2006, 11:15
/dev/{|u|s}random са интерфейс към генератора на случайни числа на ядрото и нямат общо с rand от libc. Ако при rand след като се захрани с едно и също число винаги се получава една и съща поредица, то при ядрото се използва и допълнителни смущения от устройства и т.н. ..... Титла: случайни числа Публикувано от: TeodorGig в Aug 02, 2006, 14:51 Добави следните редове:
#include <time.h> А на първият ред в main(): srand( time(NULL) ); Това ще инициализира генератора на случайни числа с текущата стойност на системния часовник. Титла: случайни числа Публикувано от: Lord Bad в Aug 02, 2006, 16:11 randomize е от Pascal, не е от С. Трябва само да сменяш сийда надеждно - времето е добра идея по принцип, но според мен /dev/urandom е по-добра...
|