Gra zgadywanie liczby.

0

Witam!
Staram się wymyślić jakiś sensowny sposób na to aby komputer potrafił w kilka ruchów znaleźć naszą liczbę.
"1" i "2" podpowiadamy czy liczba podana przez komputer jest większa czy mniejsza, jesli zgadza się to "0" kończy naszą grę

 #include <iostream>
#include <cstdlib>
#include <time.h>

using namespace std;

int main(){
	int liczba = 0;
	cout<<"Podaj swoja liczbe: ";
	cin>> liczba;

	if(liczba > 500 ){cout<<"Podales zbyt wysoka liczbe !"; system("pause");}
	else if(liczba < 0 ){cout<<"Podales zbyt mala liczbe !"; system("pause");}

	int zgadywana=3;
	int stan = 0;

	int tmp = 500;
	int tmp2 = 0;

	while(zgadywana!=0){
	//srand ( time(0) );
	stan = tmp2 + rand() % tmp  ; //od 0 do 500
	cout<<"Zgadywany numer to: "<<stan<<endl;
	cin >> zgadywana;
	if( zgadywana==0 ){break;}
	else if ( zgadywana==1 ){ tmp=stan; tmp2=0; } //mniejszy
	else if ( zgadywana==2 ){ tmp2=stan; } //wiekszy

	}

	cout<<"Koniec Gry\n";
	system("pause");
}
0

Nie znajdziesz nic lepszego niż "dziel i zwyciężaj" :)

0

Czyli sugestia brania po pół aż do skutku. Czyli jak się zmniejsza to dzielę zakres szukania przez dwa. :) A jak rośnie to?

P.S
Już działa, dzięki za hinta :)

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