Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Losowanie liczb

Ostatnio zmodyfikowano 2012-01-18 21:16
Autor Wiadomość
kilerfcb
Temat założony przez niniejszego użytkownika
Losowanie liczb
» 2012-01-18 20:25:52
Witam,

Mam za zadanie zrobienie programu w którym użytkownik będzie podawał jakąś liczbę z przedziału 1-100, a zadaniem komputera będzie odgadnięcie tej liczby(W stylu "za duzo" "za malo"). Do tego momentu zadanie jest dla mnie proste hehe. Haczyk w tym, że program trzeba napisać tak, aby komputerowi udało się wylosować liczbę w jak najmniejszej ilości prób.
C/C++
#include <cstdlib>
#include <iostream>
#include <ctime>

using namespace std;

int main( int argc, char * argv[] )
{
    int liczba;
    int losowana;
    int proba;
   
    proba = 1;
    srand( time( NULL ) );
    while( liczba > 100 || liczba < 1 )
    {
        cout << "Podaj jakas liczbe [1..100]" << endl;
        cin >> liczba;
        if( liczba > 100 || liczba < 1 )
             cout << "Ale z Ciebie kretyn..Podaj liczbe z przedzialu [1..100]" << endl;
       
    }
   
    do {
        proba++;
        losowana =( rand() % 100 ) + 1;
        if( losowana > liczba )
             cout << "Za duzo..proboje jeszcze raz" << endl;
       
        if( losowana < liczba )
             cout << "Za malo..proboje jeszcze raz" << endl;
       
        if( losowana == liczba )
             cout << "\nTrafilem!! Wylosowana liczba to " << losowana << " Udalo mi sie za " << proba << " razem\n" << endl;
       
    } while( liczba != losowana );
   
    system( "pause" );
    return 0;
}
P-48683
pekfos
» 2012-01-18 20:37:11
Komputer ma odgadywać? Zaadaptuj przeszukiwanie binarne, gdzie wśród wartości od 1 do 100 ma znaleźć te n.
P-48685
kilerfcb
Temat założony przez niniejszego użytkownika
» 2012-01-18 20:48:15
hmmm, jestem mocno początkujący.. nie rozumiem :)
P-48688
pekfos
» 2012-01-18 20:50:33
ehh..

dzielisz zbiór na pół (te 100 wartości) i sprawdzasz w której połówce jest n. później znowu na pół, i tak dalej. W skrócie: Divide et impera :P
P-48690
CodeMeister
» 2012-01-18 21:16:04
Powinienes najpierw pomyslec jak ty bys to rozwiazal, sprobowal to zakodowac i w ostatecznosci wbijac na forum ;)
P-48704
« 1 »
  Strona 1 z 1