Hallo da draußen,
da ich vorm Anfang meines Studiums noch Zeit habe, bin ich dabei, mir ein paar Grundkenntnisse beizubringen.
Dafür versuche ich auch ein paar Aufgaben zu lösen und hab bei der folgenden ein Problem:
Aufgabe ist, in der unteren rechten Ecke eines Standard-Terminalfensters (80x24) eine Halb-Pyramide aus Sternen darzustellen, beginnend mit 2. Diese soll anhand des User Inputs erstellt werden (=Höhe der Pyramide)
Z.B. Eingabe 3:
So ohne Umschweife mal hier mein Code:
Alles anzeigen
So soll dann bei Reihe 1: 77 Leerzeilen und 3 Sterne, Reihe 2: 76 Leerzeilen und 4 Sterne usw.
(Beachtet habe ich noch nicht, dass Eingabe <24 sein soll)
Nur wenn ich das Ganze ausführe, springt der blinking prompt nur durch die Gegend (Endlosschleife)
Ich weiß nicht, ob ich da irgendein Denkfehler drinhabe oder das generell der falsche Ansatz ist.
Kann mir da jemand helfen?
da ich vorm Anfang meines Studiums noch Zeit habe, bin ich dabei, mir ein paar Grundkenntnisse beizubringen.
Dafür versuche ich auch ein paar Aufgaben zu lösen und hab bei der folgenden ein Problem:
Aufgabe ist, in der unteren rechten Ecke eines Standard-Terminalfensters (80x24) eine Halb-Pyramide aus Sternen darzustellen, beginnend mit 2. Diese soll anhand des User Inputs erstellt werden (=Höhe der Pyramide)
Z.B. Eingabe 3:
So ohne Umschweife mal hier mein Code:
Quellcode
- #include <stdio.h>
- int
- main (int argc, char *argv[])
- {
- int eingabe;
- int row;
- int space;
- int star;
- printf("Bitte geben Sie Höhe der Pyramide ein:\n");
- scanf("%d", &eingabe);
- for (row = 0; row < eingabe; row++) //for loop für jede reihe, solange bis gewünschte höhe erreicht ist
- {
- for (space = 1; space = 80-(row+2); space++) // bei Reihe 0 wäre das z.B. 80 - ( 0 +2), also 78 Leerzeilen
- printf(" ");
- for (star = 1; star = row + 2; star++) //bei Reihe 0 dann dementsprechend 2 Sterne, sodass alle 80 Stellen "ausgefüllt" sind
- printf("*");
- printf("\n");
- }
- }
So soll dann bei Reihe 1: 77 Leerzeilen und 3 Sterne, Reihe 2: 76 Leerzeilen und 4 Sterne usw.
(Beachtet habe ich noch nicht, dass Eingabe <24 sein soll)
Nur wenn ich das Ganze ausführe, springt der blinking prompt nur durch die Gegend (Endlosschleife)
Ich weiß nicht, ob ich da irgendein Denkfehler drinhabe oder das generell der falsche Ansatz ist.
Kann mir da jemand helfen?