Printen einer Raute in C?

2 Antworten

jedoch verstehe ich jetzt nicht wie ich das umschreiben soll, sodass es nur den rahmen printet

Guck dir die innere for-Schleife an:

for ( a = 1 ; a <= 2*b-1 ; a++)
            printf("*");

Dieser Teil ist dafür verantwortlich, den Diamanten zu füllen, und den musst du jetzt so modifizieren, dass nur an den Rändern die Randzeichen ausgegeben und die Mitte mit Leerzeichen gefüllt werden.

wie ich "\" verwenden kann da man mit dem ja eine neue zeile oder einen tab printet....

Das "\" ist das Escape-Zeichen, mit dem du bestimmte Spezielle Sonderzeichen ausgeben kannst, wie zum Beispiel einen Zeilenumbruch oder ein Tab. Um das Escape-Zeichen selber auszugeben, musst du das Zeichen vor sich selber setzen, also im Endeffekt ein "\\" ausgeben.

Woher ich das weiß:Studium / Ausbildung

Kackhaufen200 
Beitragsersteller
 27.03.2020, 12:02

Hm also muss ich in der ersten hälft so was printen: printf("/%c\\"); oder?

0
Gambolputty  27.03.2020, 13:47
@Kackhaufen200

printf("\\") sollte reichen, wenn du nur ein "\" ausgeben möchtest. printf("/\\") sollte dementsprechend ein "/\" ausgeben.

1

Zeichne dir den Diamand doch einmal in ein Gitter / auf Kästchenpapier. Jeder Stern kommt in sein eigenes Kästchen. Analysiere dann, woraus sich jede Zeile zusammensetzt.

Wenn du einen Algorithmus findest, eine beliebige Zeile zeichnen zu lassen, brauchst du diesen Vorgang nur noch entsprechen wiederholen.