Tannenbaum

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo,

    ich hab folgendes Problem: Meine Aufgabe ist es einen Tannenbaum zu programieren durch eingeben der Zeilenanzahl und das Zeichen. Ich hab das problem fast gelöst. In meiner Lösung hab ich mit 3 FOR-Schleifen gearbeitet. Meine Ausgabe sieht wie folgt aus:

    x
    xx
    xxx
    xxxx ...usw


    Quellcode

    1. [COLOR='RoyalBlue']cout << "Geben Sie die Anzahl der Zeilen ein und dann das Zeichen für die Pyramide!" << endl;
    2. cout << "Anzahl der Zeilen: ";
    3. cin >> zeilen;
    4. cout << "Zeichen: ";
    5. cin >> zeichen;
    6. for(k=0; k<zeilen;k++) //spalten
    7. {
    8. for(i=0; i<1; i++) //reihen
    9. {
    10. for(j=0; j<=k;j++)
    11. {
    12. // cout << " ";
    13. cout << zeichen;
    14. }
    15. cout << endl;
    16. }
    17. } [/COLOR]
    Alles anzeigen



    HTML-Quellcode

    1. Mein Frage ist jetzt, wie bekomme ich das jetzt symmetrisch hin?
    2. x
    3. xxx
    4. xxxxx
    5. xxxxxxx.. so sollte das dann aussehen.


    Wär sehr dankbar für einen kleinen Tipp. Vielleicht sehe ich gerade den Wald vor lauter Bäumen nicht mehr. Ich mach mal eine kurze Pause und schau mir das dann noch mal an.

    Dank euch schon mal für eventuelle Hilfe.

    Ciao der Komissar :D
  • in dem du eine weitere for Schleife nimmst die Leerzeichen druckt...

    Und zwar immer soviel wie Mitte(ca. bei 20)-mom. Zeile...
    [SIZE=1]
    Was ist der Unterschied zwischen einem U-Boot und MS Windows?
    Keiner, sobald man ein Fenster aufmacht, fangen die Probleme an
    Alle Tips von mir ohne Gewähr und auf eigenes Risiko !!
    UP1 UP2 UP3[/SIZE][SIZE=1]
    [/SIZE]
  • Also ich bin zwar kein C++-Coder aber ich nehme doch mal STARK an das es sowas wie printf von C gibt.

    Dort kann man per %s die Strings auch formatieren.

    Und mach das doch rekursiv ... ist sicher viel eleganter und bietet sich hier an.

    mfg
    Tischler
  • Bitteschön:

    Quellcode

    1. #include<iostream>
    2. void zeichneZeile(int zeilenAnzahl, int zeile, char zeichen) {
    3. for(int k=0;k<zeilenAnzahl;k++) {
    4. for(int i=0;i<zeilenAnzahl-zeile-1;i++) { //Gibt die Leerzeichen aus
    5. cout<<" ";
    6. }
    7. for(int j=0;j<zeile*2+1;j++) { //Gibt die Symbole aus
    8. cout<<zeichen;
    9. }
    10. cout<<endl;
    11. zeile++;
    12. }
    13. }
    14. int main() {
    15. char zeichen;
    16. int zeilen;
    17. cout << "Geben Sie die Anzahl der Zeilen ein und dann das Zeichen für die Pyramide!" << endl;
    18. cout << "Anzahl der Zeilen: ";
    19. cin >> zeilen;
    20. cout << "Zeichen: ";
    21. cin >> zeichen;
    22. zeichneZeile(zeilen, 0, zeichen);
    23. }
    Alles anzeigen
    [COLOR="Green"]"A dream you dream alone is only a dream. A dream you dream together is reality"[/color]

    John Lennon

    [SIZE=1],,,[/SIZE][SIZE=1]*&#801;&#844;l&#801;*,,,,,,,,,,&#801;&#801; &#801;&#820;&#305;&#820;&#820;&#801; ,,,,,,,,,*&#801;&#844;l&#801;*,,,,,,,,,,*&#801;&#844;l&#801;*&#801;&#801; &#801;&#820;&#305;&#820;&#820;&#801; &#801;&#801;&#865;|&#818;&#865;&#818;&#865;&#818;&#865; &#818;&#9643;&#865;&#818; &#818;&#865;&#818;&#865;&#818;&#960;&#818;&#865;&#818;&#865; &#818;&#865;&#818;&#9643;&#818;&#865;&#818;&#865; &#818;|&#801;&#801;&#801; &#801; &#801;&#820;&#305;&#820;&#801;&#801; *&#801;&#844;l&#801;*_,,,,,,,,&#801;&#801; &#801;&#820;&#305;&#820;&#820;&#801; ,,,,,,,,*&#801;&#844;l&#801;*,,[/SIZE][SIZE=1],,,[/SIZE][SIZE=1],,,,,,&#801;&#801; &#801;&#820;&#305;&#820;&#820;&#801; ,[/SIZE][SIZE=1],,[/SIZE]
    [SIZE="1"][COLOR="Purple"]Up 1[/color][/SIZE] [SIZE="1"] [COLOR="Olive"]Up 2_The_Beatles_Red_Album[/color][/SIZE]
  • Guten Morgen,

    super! Vielen Dank an euch. Ich hab jetzt zwei Lösungen.
    Dann kann ich mich an die nächste Aufgabe machen.
    Wenn ich wieder mal eine Frage haben sollte, dann meld ich mich.

    Macht weiter so!

    Greetz

    Komissar Becks :D

    Achso, hier kann dann dicht gemacht werden, wenn keiner einen Einwand hat.