Rechnung



  • Also mein Programm bekommt am Anfang eine Zahl eingegeben und solll mit dann eine Zahl sagen die zum Quadrat mit sich selbst addiert meine Zahl ergibt.
    Also

    x*x+x=Meine Zahl
    

    Er fängt mit null an und versucht dann, wenn

    x*x+x<Meine Zahl
    

    , x um 1 zu erweitern also quasi ist x dann 1 und so weiter bis er die zahl hat deren quadrat mit sich selbst addiert meine zahl ergibt.

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main()
    {
    float zahl,x;
    cout << "Sie sagen ihre Zahl ist ";
    cin >> zahl; //gebe deine Zahl ein
    cout << "Ich sage das Quadrat meiner Zahl mit sich selbst addiert addiert gibt ihre Zahl" << endl << "Meine Zahl ist ";
    x=0; //starte mit zahl 0
    while(((x*x)+x)!=zahl)  //während er noch nicht die richtige zahl hat ausführen
    {
    if(((x*x)+x)>zahl) { //wenn Ergebnis größer als Zahl rechne X - 1
    x-1;
    }
    if((x*x+x)<zahl) {//wenn Ergebnis kleiner als Zahl rechne X +1
    x+1;
    }
    else 
    cout << endl << "Konnte nicht rechnen";
    return 0;
    }
    cout << x;
    return 0;
    }
    

    Aber im moment braucht er unendlich lange da stimmt was nicht
    vielen dank wenn ihr mal nach fehlern gucken könntet



  • das

    x-1;
    

    sollte wohl

    x = x - 1; // oder --x; oder x -= 1;
    

    heissen?
    Genauso bei x+1 🙂

    Da fehlt auch noch eine Abbruchbedingung, falls er kein x findet, oder?



  • Danke ich versuche es mal.
    Achso und die abbruchbedingung mache ich noch.
    Ich werde versuchen nachher mit so kleinen zahlen zu spielen, dass er jede zahl finden aber nun möchte ich erstmal dass es so läuft


Anmelden zum Antworten