• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Sternchenmuster in C

macminiTomy

Kleiner Weinapfel
Registriert
02.10.08
Beiträge
1.132
Guten Morgen!

Ich muss für die Schule ein Programm schreiben, habe aber ein paar Stunden versäumt (Grippe).

Es soll ungefähr so aussehen:

*
**
***
****
****
***
**
*

Das habe ich gerade geschafft :-)

Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int reihe1, reihe2;

   for(reihe1=0;reihe1<=3;reihe1++)
   {
    for(reihe2=0;reihe2<=reihe1;reihe2++)
    {
    printf("*");
    }
    printf("\n");
   }


   for(reihe1=3;reihe1>=0;reihe1--)
   {
    for(reihe2=0;reihe2<=reihe1;reihe2++)
    {
    printf("*");
    }
    printf("\n");
   }

    return 0;
}

Jetzt musst ich das ganze noch Spiegeln also das es eine Raute ergibt, könnt ihr mir ein paar Tipps geben wie ich das machen könnte? Ist für Erfahrene sich ein Kinderspiel
redface.gif


Vielen Dank! :-)
 
Zuletzt bearbeitet:
Man rückt code eigentlich grundsätzlich nach rechts ein.
Daher ist eine Raute eigentlich auch nicht möglich. Mir entzieht sich jedoch der Sinn der Aufgabe ...

Achso, Rück deinen Code doch auch mal ein wenig ein.
So zum Beispiel:

for(..)
{
<TAB>printf(..);
}

Das macht es ansehnlicher und du siehst auch gleich wo du klammern vergessen hast.
 
Man rückt code eigentlich grundsätzlich nach rechts ein.
Daher ist eine Raute eigentlich auch nicht möglich. Mir entzieht sich jedoch der Sinn der Aufgabe ...

Achso, Rück deinen Code doch auch mal ein wenig ein.
So zum Beispiel:

for(..)
{
<TAB>printf(..);
}

Das macht es ansehnlicher und du siehst auch gleich wo du klammern vergessen hast.

Das geht im Forum nicht, ist in meinem Programm aber gemacht.
 
Das geht im Forum nicht, ist in meinem Programm aber gemacht.
Doch, das geht! →
code.gif

Also beim schreiben eines Beitrages auf dieses Dings klicken und dann werden Tab-Einrueckungen mit uebernommen. (Das Tag nennt sich dann
Code:
)
 
Wenn du eine Raute bauen möchtest, dann mal' die dir auf ein Blatt Papier und schau' dir an, wie sich die Anzahl der Sterne von Reihe zu Reihe ändert. Das überführst du dann in eine (ziemlich simple ;-)) Formel. In der Mitte der Raute musst du die Formel dann ändern, da die Sterne ja dann abnehmen, statt zunehmen.

Das ganze lässt sich mit einer for-Schleife und einem if-Statement, oder mit zwei for-Schleifen realisieren.

Tip: Du machst es dir mit deinem Ansatz IMHO unnötig kompliziert, da du um die vertikale Achse spiegeln möchtest. Eine Raute hat aber zwei Symmetrieebenen... ;-) falls du es dennoch so machen möchtest (z.B. um dir das Hantieren mit den Blanks zu sparen), dann denk' mal darüber nach, dass dich niemand daran hindert, das Sternchenmuster vor der Ausgabe auf dem Bildschirm zwischen zu speichern...

Viel Erfolg,
Dirk
 
Ach lol,

jetzt habe ich verstanden was du machen musst.
Ich habe erst angenommen, du musst deinen Code so aussehen lassen, dass er rautenförmig ist - man bin ich bescheuert. Hätte mir wohl mal deinen Code durchlesen sollen :D

Sorry.