Sternchen Pyramide

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Jacqueline
Beiträge: 4
Registriert: Sa Dez 13, 2014 1:15 pm

Sternchen Pyramide

Beitrag von Jacqueline » Sa Dez 13, 2014 1:42 pm

Hallo liebes Forum Team,

ich befinde mich gerade im 1. Semester meines Informatik Studiums und verbringe schon Tage und Nächte damit mir die Programmiersprache C verständlich zu machen. :shock:

Zur Zeit hänge ich an einem kleinen Programm fest und komme einfach nicht weiter, vielleicht könnt ihr mir ja bei meinem absoluten Anfängerproblem ein klein wenig weiter helfen. ;)

Ich möchte eine Sternchenpyramide mit einer for Schleife programmieren, die ungefähr so aussehen soll:

Code: Alles auswählen

      **
     ****
    ******
      **
     ****
    ******
Mein Code den ich geschrieben habe gibt den ersten Teil der Pyramide aus, also 2, 4 und 6 Sterne, dann ist Schluss.

Code: Alles auswählen

int main ()

{
int zeile, spalte,leer;

for ( zeile=1;zeile>=9;zeile=zeile+2)
{  
    for ( leer=9;leer>=zeile; leer=leer-2)
    {
        printf (" ");
    }
    for ( spalte=1;spalte<=zeile;spalte=spalte+2)
    {
        printf ("**");
    }
    printf ("\n");
}

Wie kann ich denn die Schleife ändern, damit die Pyramide nochmal ausgegeben wird und quasi wie so eine Art Tannenbaum entsteht? Also nachdem die 6 oder auch eine andere Anzahl Sterne gedruckt sind, darunter wieder 2 Sterne usw.folgen.
Ich hoffe ich habe mich einigermaßen Verständlich ausgedrückt, falls nicht Bitte ich um Entschuldigung.

Für Eure Hilfe wäre ich echt sehr dankbar. :)

Edit by cloidneurx: Code-Tags, Formatierung
edit by Xin: Pyramiede in CodeTags gezogen, damit die Leerzeichen am Anfang der Zeile erkennbar werden. ^^

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Sternchen Pyramide

Beitrag von cloidnerux » Sa Dez 13, 2014 3:18 pm

Hi und Willkommen im Forum :D
Wie kann ich denn die Schleife ändern, damit die Pyramide nochmal ausgegeben wird und quasi wie so eine Art Tannenbaum entsteht? Also nachdem die 6 oder auch eine andere Anzahl Sterne gedruckt sind, darunter wieder 2 Sterne usw.folgen.
Wenn du zwei mal das selbe haben willst, wieso führst du es dann nicht zwei mal aus? ;)
Redundanz macht wiederholen unnötig.
quod erat expectandum

Jacqueline
Beiträge: 4
Registriert: Sa Dez 13, 2014 1:15 pm

Re: Sternchen Pyramide

Beitrag von Jacqueline » Sa Dez 13, 2014 8:55 pm

Hallo cloidnerux ,

vielen Dank für Deine Antwort :)
Das habe ich mir auch schon irgendwie gedacht, ich habe bloß überlegt vielleicht gibt es noch eine Anweisung, dass die Schleife automatisch zweimal oder dreimal durchlaufen wird, je nachdem wie oft ich es möchte. :)

Tja so die typischen Anfänger Gedanken :shock: Aber ich werde mein bestes geben, vielen Dank nochmal

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Sternchen Pyramide

Beitrag von Xin » So Dez 14, 2014 10:06 am

cloidnerux hat geschrieben:Wenn du zwei mal das selbe haben willst, wieso führst du es dann nicht zwei mal aus? ;)
Aber bitte nicht per Copy'n'Paste. ^^
Jacqueline hat geschrieben:ich habe bloß überlegt vielleicht gibt es noch eine Anweisung, dass die Schleife automatisch zweimal oder dreimal durchlaufen wird, je nachdem wie oft ich es möchte. :)
Gibt es. :)
Nennt sich Schleife ;-)

Du kannst Schleifen schachteln:

Code: Alles auswählen

for( unsigned int outer = 0; outer < 10; ++outer )
  for( unsigned int inner = 0; inner < 10; ++inner )
    doSomething( inner, outer );
Jacqueline hat geschrieben:Tja so die typischen Anfänger Gedanken :shock: Aber ich werde mein bestes geben, vielen Dank nochmal
Alles ganz normal.

Diese Pyramiede nennt sich "Tannenbaum", oder? :-D
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Jacqueline
Beiträge: 4
Registriert: Sa Dez 13, 2014 1:15 pm

Re: Sternchen Pyramide

Beitrag von Jacqueline » So Dez 14, 2014 1:55 pm

Hallo Xin :D ,

danke für Deine Antwort. :)

Das man Schleifen schachteln kann, habe ich zwar alles schon theoretisch gehört und gelesen , nur leider mangelt es noch arg an der Praxis.
Ich sitze jetzt schon wieder 2 Stunden und versuche mein Beispiel mit einer verschachtelten Schleife zu lösen, nur leider kommen alle möglichen Formen dabei heraus, aber nicht das was es soll. :oops: :oops: :oops:

Ich zweifel so langsam an meinen Fähigkeiten, ob ich es jemals lernen werde :idea:

Kannst du mir eventuell noch mal anhand von meinem Code auf zeigen, wie ich hier die Schleifen verschachteln muss? :oops:

Da wäre ich dir echt dankbar. :D :D :D

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Sternchen Pyramide

Beitrag von cloidnerux » So Dez 14, 2014 2:13 pm

Code: Alles auswählen

for(int i = 0; i < 10; i++)
{
    //Verschachtelte Schleifen
    for(int a = 0; a < 10; a++)
    {
        //Innerste Schleife
    }
}
Im Grunde kannst du im Rumpf einer Schleife beliebigen Code schreiben, eben auch andere Schleifen.

Hilfreich in diesem Kontext ist das Konzept der "Scopes" zu verstehen:
https://www.proggen.org/doku.php?id=c:var:scopes

Im Endeffekt stellst du dir also deinen Code als ein Scope vor und setzt eine weitere Schleife drum herum, damit du diesen Code mehrfach ausführen kannst.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Jacqueline
Beiträge: 4
Registriert: Sa Dez 13, 2014 1:15 pm

Re: Sternchen Pyramide

Beitrag von Jacqueline » So Dez 14, 2014 2:42 pm

Oh Danke Danke Danke, :D :D :D :D

jetzt habe ich es jetzt kapiert und es hat funktioniert. :D
Ihr habt mir meinen 3.Advent gerettet und mich wieder ein winzig kleines Stück weiter gebracht.

Ganz ganz spitze von euch :D

Ich hoffe ich komme auch irgendwann dahin, wo ich anderen helfen kann :P

Antworten