• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

C++ Quadratzahlen berechnen?

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
Hallo Leute,

bräuchte mal wieder Hilfe von euch :)

Ich muss ein Programm schreiben das Quadratzahlen berechnet.
Schreiben Sie eine Funktion hoch2, die für eine ganze Zahl ihre Quadratzahl berechnet. Rufen Sie die Funktion wie folgt auf:
... for (int i = 0; i < 20; i++;){
printf("%i\n", hoch2(i)); ...

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?
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
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).
 

awk

Clairgeau
Registriert
03.07.08
Beiträge
3.687
Der Mix aus C und C++ ist immer wieder grausam anzusehen. ;)
 

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
Der Mix aus C und C++ ist immer wieder grausam anzusehen. ;)
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?
 

Chrissel

Strauwalds neue Goldparmäne
Registriert
17.03.09
Beiträge
641
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.
 

Apfelliebhaber

Adams Parmäne
Registriert
10.09.08
Beiträge
1.306
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.
 

Chrissel

Strauwalds neue Goldparmäne
Registriert
17.03.09
Beiträge
641
aber i*i reiht doch eig du brauchst keine große funktion um ne quadratzahl zu berechnen
 

awk

Clairgeau
Registriert
03.07.08
Beiträge
3.687
was genau ist bei dem Code jetzt c++ und c?

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 ;)).
 
Zuletzt bearbeitet:

nate

Pomme Miel
Registriert
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 :)
 

wami

Oberösterreichischer Brünerling
Registriert
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
 

Guy.brush

Weißer Winterkalvill
Registriert
15.12.08
Beiträge
3.545
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?
 

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
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:
double hoch2=1, basis=2, ergebnis=0;
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.
 

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
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.

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!!!