Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > acill c odev yardim
Yazar
recordit


avatar

Kayıt: 24.05.2008
24.05.2008-13:58 #44896
Arkadaslar acil vermem gereken odev var bunu nasil yapcaz yaa. biri yardimci olabilirmi?

Aşağıdaki oyunu oynayacak tam bir program yazın: Kullanıcı 1 ile 1000 arasında bir sayı seçer, bilgisayarda sayıyı tahmin etmeye çalışır. Her tahminden sonra, eğer tahmin daha büyükse kullanıcı B girer, daha küçükse K, doğru sayı ise D girer. Programın örnek bir çıktı ve girdisi şöyle olabilir,

500? B
250? K
375? D

Program en az denemeyle doğru sayıyı bulmaya çalışacak şekilde tasarlanmalıdır.





Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
24.05.2008-14:30 #44897
vay be ne ödevler var, bi bizim batak projesine bak bi de buna :))





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
uslanmaz4


avatar
ANKARA
Kayıt: 15.01.2006
24.05.2008-14:39 #44898
:D bilgisayarın sayıyı secip senin bulman daha mantıklı degil mi?Yoksa diger turlu istedigin kadar adım yaptırısın.Nasılsa kullanıcıda sayıyı alıyorsun?
Misal 3. ude bulmasını ıstıyosan?
Kullanıcdan aldıgın sayıyı degiskene at misal x
Sonra misal 1 adımda y=x-100 de :D yanınada k yazdır
2. adımda z=x+100 de yanına b yazdır
3. adımdada x ı yazdır.En basıt algorıtması bu ama basta dedıgım gıbı odew ters olmus sankı :D:D

Batak projesı nerden cıktıysa artık :D:D:D





kedicik kedicik
Yazar
sinan61


avatar
TRABZON
Kayıt: 05.12.2006
24.05.2008-15:06 #44899
ödev biraz ters gibibeat up çözüm : bilgisayar belli bir değer aralığında(kullanıcının belirledği bir aralık) tahmn yapar random şekilde... sonra kulanıcıdan aldığı değerle kendi ürettiğni karşılaştrarak random bulma aralığını daraltır....ve sonuca gider...ama dediğm gibi ters olmuş birazthinking






Nobody live like me!!!




Yazar
wardom


avatar
Kirklareli
admin
Kayıt: 12.11.2006
24.05.2008-15:08 #44900
Öncelikle alt = 1 ve üst = 1000 adında 2 tane değişlen belirle.Sonra kullanıcıdan bir sayı al.Bilgisayarın tahminine de y değişkenini ata.Sonra y = x olana kadar y =int (üst -alt) / 2 şeklinde devam ettir.Eper (int (üst - alt)/2) nin sonucu x ten büyük ise yeni üst ve alt sınırlarımız sırasıyla (üst - alt)/2 ve alt olsun.Eğer int ((üst -alt)/2) sonucu x'ten küçük ise yeni üst ve alt sınırlarımız sırasıyla üst ve int ((üst-alt) / 2) olsun.Bu döngüyü x = y olana kadar sürdürsün.Ve en sonunda da "Tahmin edilen sayi %d dir" diye yazdırılabilir.Ayrıca buna bir sayici değişkeni eklenerek sayının kaçıncı tahminde bulunduğunu bulabilirsin.





www.sonergonul.net





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
24.05.2008-19:42 #44905
#include <stdio.h>

#define SAYI 870

void main(){

int Altlimit=0;
int Ustlimit=1000;
int Orta;
while(true){
	Orta = int((Ustlimit-Altlimit)/2+Altlimit);
	if(SAYI == Orta){
		printf("Sayi =  %d
",Orta);
		break;
	}else if(SAYI <Orta){
		Ustlimit=Orta;
		printf("%d Sayi Daha Kucuk
",Orta);
	}else if(SAYI>Orta){
		Altlimit=Orta;
		printf("%d Sayi Daha Buyuk
",Orta);
	}


}


}






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
encin


avatar

Kayıt: 30.11.2007
24.05.2008-21:52 #44914
/**********************************/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
////////////////////////////////////
#define ALT 0
#define UST 1000
#define DOGRU 'D'
#define KUCUK 'K'
#define BUYUK 'B'
////////////////////////////////////
void Acilis() ;
/**********************************/
void main() {
	Acilis() ;
	int alt, ust, sayi, yeni_oyun ;
	char secim ;
	do {
		system( "cls" ) ;
		alt = ALT ;
		ust = UST ;
		sayi = int( alt + (ust - alt) / 2 ) ;
		printf( "%d? ", sayi ) ;
		flushall() ;
		scanf( "%c", &secim ) ;
		do {
			if( secim == DOGRU ) {
				printf( "
Sayi : %d

", sayi ) ;
				printf( "Devam etmek icin bir tusa basin..." ) ;
				getch() ;
				break ;
			}
			else if( secim == KUCUK )
				alt = sayi ;
			else if( secim == BUYUK )
				ust = sayi ;
			else {
				printf( "Hatali giris. "
					"Lutfen duzgun bir deger girer misiniz?
" ) ;
				printf( "%d? ", sayi ) ;
				flushall() ;
				scanf( "%c", &secim ) ;
				continue ;
			}
			if( (ust - alt) <= 1 ) {
				printf( "
Belirttiginiz aralikta bir tam sayi olamaz."
					"
Devam etmek icin bir tusa basin..." ) ;
				getch() ;
				break ;
			}
			sayi = int( alt + (ust - alt) / 2 ) ;
			printf( "%d? ", sayi ) ;
			flushall() ;
			scanf( "%c", &secim ) ;
		} while( true ) ;
		system( "cls" ) ;
		printf( "1) Yeni oyun
2) Cikis

Seciminiz
-> " ) ;
		scanf( "%d", &yeni_oyun ) ;
	} while( yeni_oyun == 1 ) ;
}
/**********************************/
void Acilis() {
	printf( "

	Bu uygulama tarafimdan yazilmis gereksiz bir oyundur."
		"

	Devam etmek icin bir tusa basin..." ) ;
	getch() ;
}
/**********************************/













Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb