C-Aufgabe. Ich peil nix :(



  • Also jetz nich eine einzige fürs Proggi sondern eine einzige für das mit dem Exponenten. Nur wie soll das gehen? Es soll halt ne FOR-Schleife sein...



  • In eine Funktion packen 🙂

    Schreib dir das pow halt selbst.



  • Ich weiß ja nicht wie euer Lehrer drauf ist, wenn du ihm aber sagst, dass du
    meine Zinsformel oben gewählt hast, weil Sie ersten Kinderleicht zu benutzen ist
    und zweitens Rechenzeit spart, sollte dir das eigentlich Pluspunkte und keine Kritik
    einbringen, der Lehrer sieht ja, dann dass du mitdenkst und sogar ne bessere Lösung gefunden hast 🙂



  • Des stimmt schon. Nur das meine ich ja jetzt mehr aus interesse. Weil die anderen müssen es ja auch hinkriegen und die haben die andere Zinsformel und das pow() halt nicht. Ich wollt nur aus Interesse wissen wie man sowas realisieren kann... thx

    cya



  • der Lehrer sieht ja, dann dass du mitdenkst

    Warst du jemals inner Schule? Da ist nix mit mitdenken und dafür noch gute Noten einkassieren.....



  • CarstenJ schrieb:

    der Lehrer sieht ja, dann dass du mitdenkst

    Warst du jemals inner Schule? Da ist nix mit mitdenken und dafür noch gute Noten einkassieren.....

    Dann hab ich den falschen Lehrer im IT Unterricht 😃

    #include <stdio.h>
    
    int main (void) {
    
      int zahl = 10;
      int ergebnis = 1;
      int exp = 5;
      int i;
      for (i = 0; i < exp; i++){
       	ergebnis *= zahl;
      }
      printf ("%d",ergebnis);
      getchar ();
      return 0;
    }
    


  • Dann hab ich den falschen Lehrer im IT Unterricht

    Tja, ich leider auch.....aber was sag ich dazu immer: Hauptsache gesund 🤡



  • ahhh. danke!!! ich glaub ich registrier mich mal 🙂 gutes gefühl von so vielen profis umgeben zu sein 😉



  • Nochmal ne Frage: wofür isn die variable zahl genau? also was genau ist ihre bedeutung???



  • hmm. blöde frage eigentlich. hmm. ich glaube ich werds selbst mal versuchen...
    thx

    cya



  • Also ich habs jetz mal versucht, aber irgendwie klappts immer noch net 😞

    # include <stdio.h>
    # include <ctype.h>
    
    int main()
    {
    float k, n, p, klammer, i, hintere=1, b;
    scanf("%d", &k);
    scanf("%d", &n);
    scanf("%d", &p);
    klammer=p/100+1;
    for (i = 0; i < n; i++)
    {
    hintere=hintere*klammer;
    b=hintere*k;
    printf("%d", b);
    }
    scanf ("%d", k);
    return 0;
    }
    


  • versuch mal

    scanf("%d\n",&x);
    

    btw. solltest du eine genaue Fehler Beschreibung mitliefern. "geht nicht" sorgt nicht dafür, dass man dir gut helfen kann.

    lies dir am besten mal http://www.catb.org/~esr/faqs/smart-questions.html durch



  • Ich verstehe nicht genau was Du mit der Schleife da versuchst... Aber ne Potenzierung ist es nicht wirklich...

    Potenz = x mal mit sich SELBST Multipliziert, ich sehe aber kein selbst*selbst, sondern nur selbst*anders

    Die Potenzier SChleife muss so aussehen:

    for(i=1; i<=n; i++)
    {
      potenz=potenz*potenz;
    }
    

    AUSSERHALB der Schleife multiplizierst Du das dann mit dem anderen kram



  • k. danke 🙂
    werd gleich ausprobieren.



  • Ich würde das auch eher in eine Funktion packen:

    int myPow(int zahl, int exp)
    {
        int i;
        if(exp == 0)
            return 1; // Sonderfall: zahl hoch 0 ist immer 1....
    
        for(i = 1; i<exp; i++)
            zahl *= 2;
    
        return zahl;
    }
    

    Das hat den Vorteil, dass es übersichtlicher ist. Die würdest du dann z. B. so aufrufen:

    printf("%i\n", myPow(2,5));
    


  • hihi. funktionen kommen erst nach den sommerferien...^^

    also ich hab das jetz so gemacht, aber egal was ich eingebe, es kommt immer 0 raus =((

    # include <stdio.h>
    # include <ctype.h>
    
    int main()
    {
    float k, n, p, klammer, i, b;
    scanf("%d", &k);
    scanf("%d", &n);
    scanf("%d", &p);
    klammer=p/100+1;
    for (i = 0; i < n; i++)
    {
    klammer=klammer*klammer;
    b=klammer*k;
    printf("%d", b);
    }
    scanf ("%d", k);
    return 0;
    }
    


  • ups. hab das mitm ausserhalb nich gemacht. hach ich hohle birne..^^



  • hmm. aber warum ausserhalb? es soll ja immer zu dem zeitpunkt ausgegeben werden...! oder etwa nicht?



  • int myPow(int zahl, int exp)
    {
        int i;
        if(exp == 0)
            return 1; // Sonderfall: zahl hoch 0 ist immer 1....
           
        for(i = 1; i<exp; i++)
            zahl *= 2;
           
        return zahl;
    }
    

    Das stimmt aber nicht! Das multipliziert die Zahl exp-1 mal mit zwei.

    for(i=1; i<=n; i++)
    {
      potenz=potenz*potenz;
    }
    

    Ist auch nicht richtig. Hier wird 4^3 :
    44=16
    16
    16=256
    ausgerechnet.

    Aber eine korekte Schleife für die Potenz war ja auch schon zu sehen:

    #include <stdio.h>
    
    int main (void) {
    
      int zahl = 10;
      int ergebnis = 1;
      int exp = 5;
      int i;
      for (i = 0; i < exp; i++){
           ergebnis *= zahl;
      }
      printf ("%d",ergebnis);
      getchar ();
      return 0;
    }
    


  • Wie definiert ihr 0^0, eingie definieren es ja als 1, andere als undefiniert.


Anmelden zum Antworten