Startfehler



  • for(int i = 0; i <= 44; i++) { /*War wir hier i++ stehen haben versteh ich nicht so wirklich. wir nehmen den wert doch immer + sich selbst und nicht +1(++)??*/
      printf("Das Ergebnis betraegt %i\n", erg+=23);
    }
    

    Hmm, naja... du rechnest doch auch +23 jedes mal in printf und das solange bis i>44 ist.

    Wobei i von 0 bis 44 zählt, also 45 mal. Und auch 45 mal wird in printf dein erg+=23(anders geschrieben erg=erg+23).

    -> Nimm doch mal die Aufgabe und lass dir die zwei Zahlen vom Benutzer eingeben.

    -> In nem anderen Thread kam eine Aufgabe, bei der es um "Iterative Persistence of a number".
    Iterativ heißt mittels Schleife. "Persistence of a number" bedeutet, dass du die einzelnen Ziffern solange addierst(Quersumme) oder multiplizierst, bis nur noch eine Ziffer des Wertes zwischen 0 und 9 herauskommt. Die Anzahl der Vorgänge, die benötigt werden um von der ganzen Zahl auf nur eine Ziffer zu kommen ist die Persistenz:
    Addition:
    457 -> 4+5+7=16 -> 1+6=7 mit Persistenz 2
    Multiplikation:
    94 -> 9*4=36 -> 3*6=18 -> 18=8 mit Persistenz 3
    Das knnst du ja ebenfalls mit Zahlen, die vom Nutzer eingegeben, machen. Mit "+" oder "
    ".



  • -> Nimm doch mal die Aufgabe und lass dir die zwei Zahlen vom Benutzer eingeben.

    [/quote]

    Das hatte ich mir auch schon überlegt 😃 dann poste ich ma so in 4 tagen meinen quellcode 😃



  • Hmm, Sarkasmus?
    Sollte eigentlich nciht so schwer sein, falls es ernst gemeint ist 😉



  • naklar war das sarkasmus

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {   
        int erg = 0;
        int zahl1, zahl2;
        printf("Geben Sie eine Zahl ein: ");
        scanf("%i", &zahl1);
        printf("Geben sie ein zweite Zahl ein: ");
        scanf("%i", &zahl2);
    
        for("zahl1 = eingabe"; zahl1 <= zahl2; zahl1++) { 
        printf("Das Ergebnis betraegt %i\n", erg+=zahl1);
    
    }
    
        system("PAUSE");
        return 0;
    }
    

    Das ist mein Quellcode...Also so wie ich ihn jetzt geschrieben habe, aber er rechnet so hoch, wenn ich ne 30 eingebe: 30, 61, 93...

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {   
        int erg = 0;
        int zahl1, zahl2;
        printf("Geben Sie eine Zahl ein: ");
        scanf("%i", &zahl1);
        printf("Geben sie ein zweite Zahl ein: ");
        scanf("%i", &zahl2);
    
        for(int i = 0; i <= zahl2; i++) { 
        printf("Das Ergebnis betraegt %i\n", erg+=zahl1);
    
    }
    
        system("PAUSE");
        return 0;
    }
    

    Und so lautet er richtig...(hat mir ein kollege gemacht) aber warum haben wir in der for schleife immernoch int i stehen? dachte das hätten wir ersetzt durch die zufälligen zahlen vom benutzer?



  • Wieso du da int i stehen hast weiß ich auch nicht. Vor allem würde dir der ein oder andere Compiler eine Variablendefinition außerhalb der ersten Zeilen eines Anweisungblocks("{ Anweisungsblock; }") anmeckern.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {  
        int erg = 0;
        int zahl1, zahl2;
        printf("Geben Sie eine Zahl ein: ");
        scanf("%i", &zahl1);
        printf("Geben sie ein zweite Zahl ein: ");
        scanf("%i", &zahl2);
    
        for(zahl2; zahl2 > 0; zahl2--) { // da zahl2 nicht in benutzung, kannst du zahl2 als laufvariable nutzen
          printf("Das Ergebnis betraegt %i\n", erg+=zahl1);
        }
    
        system("PAUSE");
        return 0;
    }
    


  • dann hab ich wohl nen schlechten compiler 😃

    aber wie man an die aufgabe mit der quersumme rangeht weiß ich net oO



  • Windassel schrieb:

    for("zahl1 = eingabe"; zahl1 <= zahl2; zahl1++) {
    printf("Das Ergebnis betraegt %i\n", erg+=zahl1);

    das

    "zahl1 = eingabe"

    ist ein string. wie kommst du auf das schmale brett, bezeichner in einen string zu verpacken? 😃
    wenn, dann schreib

    zahl1 = eingabe
    


  • hat sich für mich logisch angeholt 😃



  • Windassel schrieb:

    dann hab ich wohl nen schlechten compiler 😃

    aber wie man an die aufgabe mit der quersumme rangeht weiß ich net oO

    Du hast doch schon ein Programm, um das Produkt der Ziffern zu ermitteln - mit ein paar kleinen Änderungen kannst du die Summe der Ziffern berechnen.



  • Windassel schrieb:

    dann hab ich wohl nen schlechten compiler 😃

    Ich tippe ja eher darauf das du nen C++-Compi verwendest, denn der hat kein Problem damit.

    Und Dev++ kenne ich zwar nicht aber das ++ ist ein Indiz auf C++.



  • ich hab den Dev-C++ 4.9.9.2 compiler


  • Mod

    Windassel schrieb:

    ich hab den Dev-C++ 4.9.9.2 compiler

    1. Was glaubst du wohl, was das für ein Compiler ist? Einer für C oder für C++?
    2. Guck mal auf den Kalender. Dev-C++ 4.9.9.2 ist von 2005! Es gibt viele gute, aktuelle Gratiscompiler.



  • dev c++ wird weiterentwickelt http://de.wikipedia.org/wiki/Dev-C%2B%2B
    downloadlinks http://orwellengine.blogspot.com/2011/09/dev-c-5004-released.html
    der müsste auch c übersetzen können.



  • hab mir den geholt, weil er empfohlen wurde...

    hab mir jetzt auch davon die neuere version runtergeladen 🙂



  • Ouh man, seid 3 Tagen sitz ich an den Schleifen und komme nicht weiter-.-

    Kann mir einer weiterhelfen? -.- Ein Kollege der studiert hat´s auch versucht, jedoch ohne Erfolg -.-


Anmelden zum Antworten