Sternchen Pyramide mit Funktion
-
Hallo erstmal zusammen,
ich bin der absolute Anfänger in Sachen C++.
Ich habe nun eine Aufgabe zu lösen. Und zwar sollen wir eine Funktion schreiben, die so ein Muster in der Konsole ausgibt.0
00
000
0000
00000
0000
000
00
0#include <iostream> using namespace std; void dreieck (int hoehe) { int x,y; for(x=0;x<hoehe;x++); { for(y=0;y<=x;y++); { cout<<"0"; } cout<"\n"; } if(y==hoehe) { for(x=y-1;x>=0;x--) { for(y=1;y<=x;y++) { cout<<"0"; } cout<<"\n"; } } } int main() { int hoehe; cout<<"Bitte Hoehe eingeben: "; cin>>hoehe; dreieck (hoehe); system ("pause"); return 0; }Die Schleifen sind soweit richtig, aber wie bekomme ich das jetzt hin, dass er die Funktion richtig abruft? Also das dort auch der eingegebene Hoehenwert aus der main die Funktion durchläuft.
Wenn ich das Programm nämlich so ausführe, kann ich zwar eine Zahl eingeben, aber dann wird mir immer nur eine "0" angezeigt
Würde mich sehr über eure Hilfe freuen!
Danke!Tobi
-
Die kam schon mal vor einem Jahr die Sache.
-
Sone schrieb:
Die kam schon mal vor einem Jahr die Sache.
Danke!
Aber dort geht es weniger um Funktionen, sondern eher um die Darstellung vom Dreieck selbst.
Damit habe ich ja, wie gesagt, kein Problem, sondern das Benutzen der Funktion.
-
Wie wärs mit Rekursion:
void PrintRowOfZeros(insigned int num) { for(unsigned int i=0; i<currentWidth; ++i) cout << "0"; cout << endl; } void PrintTriangle(unsigned int currentWidth, unsigned int maxWidth) { PrintRowOfZeros(currentWidth); if(currentWidth < maxWidth) { PrintTriangle(currentWidth+1, maxWidth); PrintRowOfZeros(currentWidth); } }