1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

C++ Quadratzahlen berechnen?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von nate, 15.11.09.

  1. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    Hallo Leute,

    bräuchte mal wieder Hilfe von euch :)

    Ich muss ein Programm schreiben das Quadratzahlen berechnet.
    Mein Versuch bis jetzt:

    Code:
    #include <iostream>
    #include <stdio.h>
    #include <math.h>
    
    int main (int argc, char** argv) {
    	
    	double hoch2=1, basis=2, ergebnis=0;
    	
    	
    	printf("Bitte geben sie eine Zahl ein\n");
    	scanf("%d",basis);
    	
       for (int i = 0; i < 20; i++){
    	   hoch2++;
    	   [B]// hier fehlt mir der Ansatz vielleicht
               // sowas: ergebnis=std::pow(basis, hoch2)[/B]
    	   	   
    	   printf("%i\n", hoch2);
    	}
    	
    	
    	
        return 0;
    }
    jemand nen Tipp dazu?
     
  2. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    In der Aufgabenstellung steht aber, dass du eine Funktion hoch2(i) schreiben sollst. Du kannst also die Schleife wie sie in der Aufgabe steht übernehmen und berechnest die Potenz in der Funktion hoch2(i), z. B. so wie du es schon hast, mit pow(i, 2).
     
  3. awk

    awk Clairgeau

    Dabei seit:
    03.07.08
    Beiträge:
    3.687
    Der Mix aus C und C++ ist immer wieder grausam anzusehen. ;)
     
  4. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    sorry :)
    was genau ist bei dem Code jetzt c++ und c?
    weil würde schon gerne einheitlich bei c++ bleiben...
    geht es auch ohne das pow? weil das habe ich nur aus dem Netz, da wir das aber noch nicht hatten dachte ich würde es auch anders gehen oder?
     
  5. Chrissel

    Chrissel Strauwalds neue Goldparmäne

    Dabei seit:
    17.03.09
    Beiträge:
    639
    also du musst i*i rechnen und das ausgeben lassen das problem ist ich kann kein c++ sondern nur php wenn dich das weiter bringen würde könnt ich die schleife schreiben...


    <?php
    for($i = 0; $i < 20; $i++)
    {
    $hoch=$i*$i;
    echo $hoch ;
    }
    ?>

    Zum Vergleich noch eine while-Schleife:

    <?php
    $i = 1;
    while($i < 21)
    {
    $hoch=$i*$i;
    echo $hoch;
    $i++;
    }
    ?>

    aber wie gesagt das ist php und nicht c++. von der struktur siehts aber sehr ähnlich aus.
     
  6. Apfelliebhaber

    Apfelliebhaber Adams Parmäne

    Dabei seit:
    10.09.08
    Beiträge:
    1.302
    Ich kann C++ noch nicht so gut aber es gibt in math.h eine Funktion:

    Code:
    #include<iostream>
    #include<math.h>
    
    main()
    
    {
    
    pow(Basis, Exponent);
    ......
    
    }
    
    
    
    Edit: Sorry ich seh grad du hasts ja schon verwendet...okay..

    ähm was bezweckt das "std:" davor noch?

    Vereinbare doch einfach die Variablen (hast du ja schon gemacht) und dann rechnest du mit pow und gibst das ergebnis aus.
     
  7. Chrissel

    Chrissel Strauwalds neue Goldparmäne

    Dabei seit:
    17.03.09
    Beiträge:
    639
    aber i*i reiht doch eig du brauchst keine große funktion um ne quadratzahl zu berechnen
     
  8. awk

    awk Clairgeau

    Dabei seit:
    03.07.08
    Beiträge:
    3.687
    Ich kenne das aus anderen Foren: vermutlich bekommt ihr es tatsächlich so beigebracht, dennoch kurz:

    - iostream: C++, zuständig für Ein-/Ausgabe, siehe cin und cout (--> kein printf, scanf)

    - Header-Dateien mit .h (C-Standardbibliothek): C, die in der Header-Datei deklarierten Bezeichner sind global verfügbar, zur Vermeidung von Namenskonflikten gibt es entsprechende Header-Dateien, die die selben Bezeichner im Namensbereich (namespace) std deklarieren, math.h wird zu cmath

    Code:
    
    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main () {
    	
    	int eingabe, ergebnis;
    	
    	
    	cout << "Bitte geben sie eine Zahl ein: ";
            cin >> eingabe;
    
            ergebnis = pow(eingabe,2);
    
           cout << eingabe << " hoch 2 ergibt "<< ergebnis << endl;
    
    	
    	
        return 0;
    }
    So, das entspricht jetzt zwar nicht deiner Aufgabenstellung und ich habe es auch nicht getestet, aber so in etwa sollte C++ aussehen. Tipps für gute Tutorials, die dir das für die Aufgabe nötige Wissen schnell vermitteln sollten, findest du hier (das Unterste ist von einem Mod dieser Community verfasst, aus diesem wird auch schnell ersichtlich, wie du deine eigenen Funktionen verwenden kannst ;)).
     
    #8 awk, 15.11.09
    Zuletzt bearbeitet: 15.11.09
  9. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    @awk ... vielen dank hat mir schon mehr geholfen :)
    aber ich benutze halt meistens doch noch scanf/printf bis noch so gewohnt ^^
    aber danke!

    @Chrissel... hmm sorry php bringt mir nichts, aber danke für die Struktur und dein Aufwand :)
     
  10. wami

    wami Oberösterreichischer Brünerling

    Dabei seit:
    15.12.08
    Beiträge:
    714
    Hi,

    bist du dir sicher, dass du hier bereits Pakete laden sollst, die die eigentliche Berechnung für dich durchführen? Normalerweise sollen ja mit solche einfachen Programmen Rekursion eingeübt werden, du sollst also selbst eine Funktion schreiben, die dir das Quadrat ausrechnet. In dem Fall die Summe der ersten n^2 ungeraden Zahlen?

    Viele Grüsse

    Michael
     
  11. Guy.brush

    Guy.brush Weißer Winterkalvill

    Dabei seit:
    15.12.08
    Beiträge:
    3.544
    Ich denke, du sollst einfach eine Funktion schreiben die n*n berechnet und diese dann mit den Zahlen 0...19 aufrufen und ausgeben. Sollst du eine Zahl von der Kommandozeile einlesen? weil das macht wenig Sinn, wenn eh immer hoch2 von 0...19 aufgerufen wird. Ob man dass jetzt n*n oder mit pow(n,2) macht, ist relativ egal.

    Wo ist da ne Summe oder Rekursion ? Oder steh ich schon wieder aufm Schlauch?
     
  12. naich

    naich Pommerscher Krummstiel

    Dabei seit:
    22.11.08
    Beiträge:
    3.059
    Schreibe doch erstmal ordentlich deine Funktion, und wie du sie aufrufen sollst, steht ja schon in der Aufgabe, das kannst du einfach rauskopieren.
    Also mache das Zeug:
    erstmal weg, das hat da nicht viel zu suchen. Dann kannst du ja, wenn nix vorgegeben ist, die Quadratzahl einfach mit a*a oder pow berechnen lassen. (Also nix mit Summe oder Rekursion, wenn meine Annahme stimmt, dass ihr erstmal Funktionen und Funktionsaufrufe üben sollt.)

    Ich denke es soll so sein, dass du die Basis als Parameter übergeben bekommst, also das i in der for-Schleife.
     
  13. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    ja danke genau so sollten wir es wohl machen. werde es heute abend mal abändern, denke jetzt klappt es dann mit euren Tipps :)

    und ja ich glaube auch das es erstmal das lernen von Funktionen/Funktionsaufrufe ist :)

    danke an alle!!!
     

Diese Seite empfehlen