Merhabalar daha önce sormuş olduğum (git: 113218) soru hakkında yine.
Binary search le soruyu çözmeye çalıştım, kod aşağıda compile etmek istediğimde while(girdi!=d); kısmında syntax error veriyor. nerde yanlışım var bir el atabilirmisiniz duyurunun sevgili debuggerları :)

#include <stdio.h>
#include <string.h>

#define enKucukSayi 1
#define enBuyukSayi 100
/* Baslangic*/
int main( void )
{
int tahmin = 0;
int minimumDeger = enKucukSayi;
int maksimumDeger = enBuyukSayi + 1;
char girdi,d,b,k;

printf( "\n" );
printf( "%d ile %d arasinda bir sayi tutun", enKucukSayi, enBuyukSayi );

do
{
tahmin = minimumDeger + ( ( maksimumDeger - minimumDeger ) / 2 );

printf( "\n" );
printf( "Tuttugunuz sayi %d mi? ", tahmin );
printf( "Eger dogruysa '%s', tuttugunuz sayidan buyukse '%s' kucukse'%s' giriniz : ", d, b, k );
scanf( "%s", girdi);

if (girdi == d)
{
printf( "\n" );
printf( "tuttugunuz sayi %d !",tahmin );
printf( "\n" );
break;
}

if ( girdi==b)
maksimumDeger = tahmin;

else if (girdi==k)
minimumDeger = tahmin;

else puts ("Bu harf gecersiz")

} while(girdi!=d);

system("PAUSE");
return;
}

 

eğer eşitlediğin şey bir karakterse(char), onu apostrof(') içine alman lazım while(girdi=='k'), if(girdi!='d') gibi.

3 atli 7 katli

teşekkürler ama aynı yerde yine aynı hatayı veriyor

trypana

karakterleri %s ile değil %c ile göstermelisin bi de.

3 atli 7 katli

Bi de scanf kısmında değerin başına & koyman lazım. Bi saniye sana düzeltilmiş halini atayım.

3 atli 7 katli

heh heh
else puts ("Bu harf gecersiz")


satirinin sonuna ; koymamissin.


edit: ek olarak, char girdi demissin ve sonra girdiyi %s'le okutmaya çalismissin, ya girdiyi string haline getireceksin yani char girdi[10] gibi mesela, ya da scanf'i söyle yapacaksin:
scanf("%c",&girdi)

girdi degerin string olacaksa (ki bu programda onu planladigini sanmiyorum)
scanf("%s",girdi) dersin veya stringinde bosluk da varsa gets fonksiyonunu kullanirsin. ama compile edememeninsebebi ilk söyledigim noktali virgül.

samfisher

@samfisher çok sağol gerçekten :) compile ediyor ama saçmalıyo haliyle. diğer hataları düzeltip yeniden denicem

trypana
1

mobil görünümden çık