C++ (odgadywanie liczby z przedziału)

Bibox
Użytkownik
Użytkownik
Posty: 32
Rejestracja: 13 wrz 2008, o 23:02
Płeć: Mężczyzna
wiek: 18
Lokalizacja: Rytel
Podziękował: 5 razy
Pomógł: 5 razy

C++ (odgadywanie liczby z przedziału)

Post autor: Bibox »

Mam takie pytanie: jak napisać program, który potrafi „odgadnąć” pomyślaną przez użytkownika liczbę z przedziału [0,100]. Program może zadawać pytania typu: „Czy pomyślana liczba jest większa od ... ?” albo „Czy pomyślana liczba jest mniejsza od ... ?”. Na każde pytanie użytkownik musi odpowiedzieć „Tak” albo „Nie”. Zadbaj o to aby liczba pytań, które zadaje program była jak najmniejsza.

Rozumiem, że on musi na samym początku wylosować liczbę. No i z tym mam największy problem, bo nie wiem jak to zapisać.
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

C++ (odgadywanie liczby z przedziału)

Post autor: kadiii »

Losowanie zapisujesz w C++ tak:

Kod: Zaznacz cały

srand ( time(NULL) );
uruchomienie "bębna losującego"

Kod: Zaznacz cały

los = rand() % 101;
wylosowanie liczby z zakresu [0,100]
Dalszy algorytm musi sie opierać oczywiście o przeszukiwanie binarne.
Bibox
Użytkownik
Użytkownik
Posty: 32
Rejestracja: 13 wrz 2008, o 23:02
Płeć: Mężczyzna
wiek: 18
Lokalizacja: Rytel
Podziękował: 5 razy
Pomógł: 5 razy

C++ (odgadywanie liczby z przedziału)

Post autor: Bibox »

Dzięki za pomysł. Ostatecznie nie użyłem wcale losowania.
sathan
Użytkownik
Użytkownik
Posty: 57
Rejestracja: 10 sty 2010, o 01:41
Płeć: Mężczyzna
Lokalizacja: Przemyśl
Pomógł: 4 razy

C++ (odgadywanie liczby z przedziału)

Post autor: sathan »

Proponuję algorytm sortowania \(\displaystyle{ O \left(2 ^{n} \right)}\)

Metoda konstruktywna oparta na podziale kolejnych odcinków na połowy i wyboru właściwego.
Czysta rekurencja w programowaniu w programowaniu w C++.
ODPOWIEDZ