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:
|
C/C++ Quellcode
|
1
2
3
4
5
|
..
**
***
****
|
So ohne Umschweife mal hier mein Code:
|
C/C++ Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#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?