programm soll ausgedachte zahl erraten



  • Falls das ernst gemeint ist, dann gewöhn dir erstmal eine vernünftige Einrückung an...

    http://de.wikipedia.org/wiki/Einrückungsstil



  • natürlich befasse ich mich mit dem problem
    warum sollte ich euch ärgern?!?!?!
    also ich habs nach dem ich mir dein comment nochma durchgelesen nochmal probiert

    int antwort, zahl;
    	int x=50;
    		while (x<=100){
    
    			int y=100;
    			while (y>0){
    
    	zahl=(y+x)/2;
    	;
    
    std::cout<<"Ist ihre Zahl kleiner als" << zahl << "(1/0): "<< std::endl;
    
    std::cin>> antwort;
    
    if (antwort==1)
    
    { y/=2;}		
    
    if (antwort==0)
    
    { }
    			}}
    
    }
    

    ich weiß nicht was ich bei antwort 0 machen soll????



  • x=0 natürlich



  • c++meganoob schrieb:

    natürlich befasse ich mich mit dem problem
    warum sollte ich euch ärgern?!?!?!

    Deine drei Smileys ohne jegliche Beschreibung weisen darauf hin.

    c++meganoob schrieb:

    x=0 natürlich

    Du kannst Beiträge auch nachträglich editieren. 😉

    Aber okay, ich helf dir mal ein bisschen auf die Sprünge.

    int UpperBound = 100;       // obere Grenze (am Anfang 100)
    int LowerBound = 0;         // untere Grenze
    
    while (...) // solange der eingegrenzte Bereich gross genug ist
    {
    	... // hier Zahl abfragen, Bereich auswählen
    	... // hier eine der Grenzen neu setzen, um Bereich weiter einzuschränken
    }
    


  • die sollten nur meine verzweiflung zum ausdruck bringen....



  • was meinst du mit:
    // solange der eingegrenzte Bereich gross genug ist????



  • Na, ich denke, du willst die Zahl doch folgendermassen erraten:
    Am Anfang hast du den Bereich ]0,100] (alle Ganzzahlen zwischen 0 und 100; 0 ausgeschlossen, 100 eingeschlossen). Es wird gefragt, ob die Zahl grösser ist als 50. Wenn ja, liegt sie im Bereich ]50,100]. Wenn nein, in ]0,50]. Dann wird wieder gefragt und der Bereich erneut auf die Hälfte eingeschränkt.



  • okay habs einigermaßen hingekriegt
    nun wie mach ich die ausgabe also praktisch: die gesuchte zahl ist: etc.

    wo mach ich das hin nach der schleife ist klar aber wie sag ich es dem programm das es die richtige zahlt ist



  • Habe jetzt den ganzen Thread durch. Warum sagt dem armen Tropf niemand, daß es sich um eine binäre Suche handelt. Gibts in jedem guten Fachbuch...

    (Obere Grenze - untere Grenze) / 2 = Abfragewert.
    Danach Auswertung ob größer, kleiner oder gleich.
    Größer oder kleiner, entsprechende Grenze setzen...siehe oben

    🕶



  • (ich hab jetzt obere grenze+untere grenze)/2
    irgendwie läufts für meine bedürfnisse reicht es erstma^^
    danke trotzdem an alle



  • c++meganoob, du solltest unbedingt die grundlegendsten Grundlagen (Variablen, If-Abfragen, Schleifen, Funktionen, Konsolenein- und -ausgaben) noch genauer anschauen.

    x schrieb:

    Warum sagt dem armen Tropf niemand, daß es sich um eine binäre Suche handelt.

    So, wie er sich angestellt hat, hätte ihm das wahrscheinlich nicht viel gebracht.


Anmelden zum Antworten