Mam do napisania program, który będzie zgadywał liczby pomyślane przez użytkownika. Mam coś takiego (tylko nie krzyczcie ;)):
#include <stdio.h>
#include <stdlib.h>
/*Napisz program zgadujący liczbę wymyśloną przez użytkownika. Zastosuj metodę bisekcji (połowienia).
Użytkownik może odpowiadać tylko czy liczba (jego) jest mniejsza lub większa od proponowanej przez program*/
int main()
{
int poczatek=1;
int koniec=1000;
int x, zgadywana;
char odpowiedz;
printf("Pomysl liczbe od 1 do 1000...\n");
printf("Jesli podana liczba za mala - wcisnij n, za duza - d, wlasciwa - w\n");
srand(time(0));
zgadywana = rand() % 1000 + 1;
printf("%d\n", zgadywana);
odpowiedz = getchar();
while (odpowiedz != 'w')
{
if (odpowiedz == 'w')
{
odpowiedz = getchar();
}
else if (odpowiedz== 'm')
{
poczatek=zgadywana+1;
x=rand() % koniec + 1;
x>poczatek;
printf("Hmm.. A moze %d \n", x);
odpowiedz = getchar();
}
else if (odpowiedz =='d')
{
koniec= zgadywana-1;
x=rand() % koniec + 1;
x>poczatek;
printf("Hmm.. A moze %d \n", x);
odpowiedz = getchar();
}
else
printf("Jesli podana liczba za mala - wcisnij n, za duza - d, wlasciwa - w");
odpowiedz = getchar();
}
return 0;
}
i właśnie nie wiem dlaczego ja wpisuję, że liczba jest za mała, a program podaje jeszcze mniejszą. Co jest nie tak?