eine gleichung mit c++ lösen


  • Mod

    😕 Das ist doch noch nicht einmal eine Gleichung. Was hindert dich, y einfach direkt auszurechnen? Bist du wirklich sicher, dass das, was JSP beschreiben hat, das ist, was du möchtest?



  • Ich würde eine for-Schleife machen, deren Index der Exponent ist.



  • Falls du dich auch für komplexe Nullstellen interessierst, nimm das Bairstow-Verfahren. Da steht sogar ein bisschen Pseudocode, der dir weiterhelfen könnte.



  • Das ist eine geometrische Reihe. Wenn das so richtig ist, wie JSP es beschreibt, ist y = (xx+1 - 1) / (x - 1) - 1.



  • @dot
    Hast Du den Thread überhaupt gelesen?

    Hier ist keine Gleichung zu lösen. Nur stupides Ausrechnen.



  • Boah mir wirds zu blöd.

    #include <iostream>
    
    using namespace std;
    
    int calc(int n)
    {
        int res = 0, partial = 1;
        for(int i=1; i<=n ;++i)
        {
            partial*=n;
            res+=partial;
        }
        return res;
    }
    
    int main()
    {
        int n;
        cin>>n;
        cout<<calc(n)<<endl;
        return 0;
    }
    


  • danke dir JSP
    das ist genau das , was ich suche.
    aber gibt es keine andere möglichkeit diese aufgabe zu lösen?
    weil in der uni sind wir erst be while schleife angekommen.
    und für diese aufgabe gibt es extranoten. deswegen soll der lehrer das nicht merken, dass es auf einem forum stand, sondern soll denken ich hab es gemacht. außerdem will ich es auch mit der while, for schleife lernen wegen der klausur nächste woche.
    vielen dank



  • tja, den Schritt zur while-Schleife musst du wohl selbst lösen.

    Das ist deine Aufgabe.



  • ja aber wie gesagt, hab keine ahnung davon, wie ich es umsetze.

    mit der for schleife oder while schleife ist es bestimmt zu machen aber ich weiß nicht wie



  • Das Beispiel ist doch mit der for-schleife 😮



  • hab mich wieder nicht richtig ausgedrückt

    meine es so

    #include <iostream>
    
    using namespace std;
    
    int calc(int n) // hier int main
    {
        int res = 0, partial = 1; // partial kenne ich nicht. 
        for(int i=1; i<=n ;++i)
        {
            partial*=n;
      res+=partial;  
        }
        return res; // das hier kenn ich ebenfalls nicht
    }
    
    int main() // hier versteh ich nicht, warum ich hier erst die zahl eingebe
    {
        int n;
        cin>>n;
        cout<<calc(n)<<endl;
        return 0;
    }
    

    also hoffe es ist jetzt verständlich 🙂



  • Das hört sich jetzt alles sehr anspruchsvoll an... Aber auch wieder nicht ganz so anspruchsvoll wie in der kurzen "Informatik" Einführung bei uns in der neunten Klasse. Bist du sicher, dass du die Uni nicht wechseln willst?



  • Mohamedyarub schrieb:

    weil in der uni sind wir erst be while schleife angekommen.

    LOL

    Mohamedyarub schrieb:

    und für diese aufgabe gibt es extranoten.

    ROFL

    Mohamedyarub schrieb:

    deswegen soll der lehrer das nicht merken, dass es auf einem forum stand, sondern soll denken ich hab es gemacht.

    Hahahahahaha, moment, ganz ruhig, Luft holen, Luft holen, ahh es geht wieder. 😃



  • Mohamedyarub schrieb:

    danke dir JSP
    das ist genau das , was ich suche.
    aber gibt es keine andere möglichkeit diese aufgabe zu lösen?
    weil in der uni sind wir erst be while schleife angekommen.
    und für diese aufgabe gibt es extranoten. deswegen soll der lehrer das nicht merken, dass es auf einem forum stand, sondern soll denken ich hab es gemacht. außerdem will ich es auch mit der while, for schleife lernen wegen der klausur nächste woche.
    vielen dank

    Glückwunsch Troll.
    Du hast mich erwischt.



  • @ JSP

    versteh dich jetzt überhaupt nicht

    ist auch egal.
    ist hier jemand so freundlich und gibt mir ein fertiges programm?



  • Nur gegen Geld!



  • #include <iostream>
    using namespace std;
    
    int main()
    {
    	int n = 3;
    	int y = 0;
    
    	int produkt = 1;
    	int i = 1;
    	while( i<=n )
    	{
    		produkt = produkt * n;		
    		y = y + produkt;
    
    		++i; // entspricht i = i + 1 falls da noch nicht kennst.
    	}
    	cout << "y = " << y;
    }
    


  • goodluckwiththat hat bestimmt ein paar Fehler eingebaut, so das du durchfällst. 😃



  • Ach naja, wenn er schon bei Schleifen mit dem Lernen aufhört, wird er spätestens in der Klausur durchrasseln. Da hab ich dann auch wenig Mitleid.



  • danke für das programm

    aber hier ist das richtige programm dafür ohne fehler

    #include <iostream>
    using namespace std;
    
    int main()
    {
        int n ;
        int y = 0;
    
        int produkt = 1;
        int i = 1;
    cin >>n;
        while( i<=n )
        {
            produkt = produkt * n;       
            y = y + produkt;
    
            ++i; 
        }
        cout << "y = " << y;
    }
    

    und zu information. ich bin kein informatiker. ich studiere Physik und habe Informatik als nebenfach. dass ist der grund, warum wir erst bei der while schleife angekommen sind.


Anmelden zum Antworten