Losowanie liczb rzeczywistych

0

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ś ;/

0

Wylosuj liczbę między 1 a 100 i podziel przez sto?
I przede wszystkim nie baw się w programowanie przez permutacje.

0

na widowsie jest i tak niemożliwe osiągnięcie rzeczywistej losowości, rand() nie jest wcale rand nawet jak go zseedujesz, równie dobrze możesz sobie tam wpisać coś z palca

0

min+rand()*(max-min)/RAND_MAX; (min lub max muszą być zmiennoprzecinkowe).

d9b2ad7b7d.png

0

@_13th_Dragon

#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

1 użytkowników online, w tym zalogowanych: 0, gości: 1