Witam, potrzebuję jakiegoś zapisu w c który pozwoli mi wylosować jakąkolwiek liczbę (zmiennoprzecinkową też)
Jak to uzyskać. Próbowałem tak:
liczba = (min + rand() * (max-min))
ale zwraca mi to głupoty jakieś ;/
- Rejestracja:prawie 11 lat
- Ostatnio:ponad 10 lat
- Postów:22

- Rejestracja:ponad 19 lat
- Ostatnio:2 miesiące
0
min+rand()*(max-min)/RAND_MAX;
(min lub max muszą być zmiennoprzecinkowe).
- d9b2ad7b7d.png (35 KB) - ściągnięć: 3530
edytowany 1x, ostatnio: _13th_Dragon

To co przykryte to dwa wiersze:
#include <windows.h>
oraz int f() { return GetCurrentThreadId(); }

- Rejestracja:prawie 11 lat
- Ostatnio:ponad 3 lata
- Lokalizacja:Szczecin
- Postów:500
0
#include <iostream>
#include <random>
#include <vector>
int main()
{
for(int i = 0 ; i < 10 ; ++i) {
std::random_device rd;
std::uniform_int_distribution<int> uniform_dist(0, 1);
std::default_random_engine el(rd());
int playTheGame0 = 0, watchGNVids1 = 0;
int times = 10000;
while(--times) {
switch(uniform_dist(el)) {
case 0:
++playTheGame0;
break;
case 1:
++watchGNVids1;
break;
default:
std::cout << "Something went really wrong\n";
break;
}
}
if(playTheGame0 > watchGNVids1)
std::cout << "PLAY THE GAME !!! " << playTheGame0 << " hits!\n";
else if(playTheGame0 < watchGNVids1)
std::cout << "WATCH GOING NATIVE !!! " << watchGNVids1 << " hits!\n";
else
std::cout << "DO NOTHING\n";
playTheGame0 = 0;
watchGNVids1 = 0;
}
return 0;
}
output na mingw
http://i.imgur.com/8WMiURE.png
nie zaprzeczysz, że dałem tutaj wiele szans na wykazanie się kompilatorowi, ale on nic sobie z tego nie robi
zauważ też, że używam dużo nowocześniejszego toola od rand()
to jest temat rzeka, nie chce mi się kłócić już :D są mistrzostwa w lola
edytowany 1x, ostatnio: gośćabc
Zobacz pozostałe 3 komentarze

Jeżeli to 10 odpaleń programu to dodaj do inicjalizatora liczb losowych Id wątku i po kłopocie.

chłopie ale ja nie chcę, to jest pokazane, jak mingw zawsze zaczyna od tego samego, "ZAWSZE", przy każdym odpaleniu jest to samo, nieważne mam dość :D ten temat jest już wyczerpany, snippet pokazuje to co miał pokazać

To że clang zrobił coś ponad to co wymagane w standardzie nie oznacza że
rand()
pod windows jest zły. Bo to zupełnie nie związane że sobą rzeczy.

no pewnie, że wszystko jest ok :D 10 x odpalasz funkcje z nowym seedem a tu niespodzianka http://i.imgur.com/SEBshMl.png do jutra

No nie, odpalasz z tym samym seedem. Bo czas się nie zdążył zmienić.
fasadinfasadin