• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

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:

dumby

Gloster
Registriert
07.12.08
Beiträge
63
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.
 

macminiTomy

Kleiner Weinapfel
Registriert
02.10.08
Beiträge
1.132
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.
 

Zettt

Doppelter Melonenapfel
Registriert
16.10.05
Beiträge
3.374
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:
)
 

Scotch

Bittenfelder Apfel
Registriert
02.12.08
Beiträge
8.055
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
 

dumby

Gloster
Registriert
07.12.08
Beiträge
63
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.