Dreieck gespiegelt in der Konsole darstellen
-
Hallo zusammen,
mein Ziel ist ein Dreieck gespiegelt in der Konsole auszugeben
Für die normale Darstellung hab ich folgenden Code:
int main( ) { int z; cout<<"z: "; cin>>z; for(int j=0; j<z-1; j++ )cout<<" "; cout<<"*"<<endl; for (int i=0; i<z-2; i++) { for(int j=0; j<z-i-2; j++) cout<<" "; cout<<"*"; for(int j=0; j<2*i+1; j++) cout<<" "; cout<<"*"<<endl; } for (int i=0; i<z; i++)cout<<"* "; cout<<endl; return 0; }mit der Ausgabe:
z: 5 * * * * * * * * * * * *Nun möchte ich gerne, dass die Spitze nach unten zeigt. Ich habe die erste mit der letzten Schleife getauscht, allerdings komme ich im mittleren Teil nicht weiter. Man muss die Schleifen wohl rückwärts laufen lassen - daran scheitere ich im Moment.
Habt ihr vielleicht ein Hinweis für mich?
Viele Grüße
-
im prinzip ganz einfach, die erste und die letze schleife vertauscht du
(warum ist glaube ich klar, wenn nicht melde dich nochmal)
bei dem inneren teil musst du die "hauptschleife" umdrehen, sodass sie runter zählt. also -- anstatt ++. dann noch schnell die bedingung, den anfangswert und dien vergleichoperator ändern und fertig
int z; cout<<"z: "; cin>>z; for (int i=0; i<z; i++)cout<<"* "; cout<<endl; for (int i=z-2; i>0; i--) { for(int j=0; j<z-i-2; j++) cout<<" "; cout<<"*"; for(int j=0; j<2*i+1; j++) cout<<" "; cout<<"*"<<endl; } for(int j=0; j<z-1; j++ )cout<<" "; cout<<"*"<<endl;
-
Besten Dank !
