sternchen Pyramide in dos ( C++ )

aggressorffm

Grünschnabel
Hi,
ich soll in Dos eine Sternchen Pyramide erstellen die wie folgt auszusehen hat
Code:
   x
  xxx
 xxxxx
xxxxxxx
Ich soll das ganze mit For-Schleifen realisieren.
Bis jetzt habe ich nur folgendes hinbekommen und zwar >>>
Code:
for(int zeile=1;zeile<6;zeile++)
    {
        for(int spalte=0;spalte<zeile;spalte++)
            {  
            cout << "x";
            }
        cout << endl;
    }
Allerdings sieht das ganze dann so aus
x
xx
xxx
xxxx
xxxxx

Mir fällt nicht ein wie ich die "leerzeichen" unter bringen soll.
Über Lösungsvorschläge wäre ich Dankbar : )

mfg
 
Zuletzt bearbeitet:
moin


Ohne Kommentar:
Code:
	int h;
	int leerzeichen;

	cout<<"Höhe: ";
	cin >> h;
	cout<<"\n\n\n\n\n";

	leerzeichen = h-1;

	for(int i=0, s=1; i<h; i++)
	{
		for(int x=0; x<leerzeichen; x++)
			cout<<" ";

		for(int l=0; l<s; l++)
			cout<<"X";

		s+=2;
		leerzeichen--;

		cout<<"\n";
	}


mfg
umbrasaxum
 
Hallo,

habe selbiges Problem nur in C. Könnte jemand die Logik und Herangehensweise erläutern? Ich blicke da nicht so durch. Welche Funktion erfüllt eigentlich die große for-Schleife? Den Schritt s=s+2 und das Dekrement von leerzeichen kann ich nicht in den Zusammenhang bringen.

mfg
 
Zuletzt bearbeitet:
Hi.

Du willst n Zeilen generieren.

In jeder Zeile müssen eine bestimmte Anzahl von Leerzeichen und eine bestimmte Anzahl von Sternchen gedruckt werden. Und danach ein \n Zeichen.

In der ersten Zeile. Wieviel Leerzeichen mußt du drucken? Wieviel Sternchen mußt du drucken?

In der zweiten Zeile. Wieviel Leerzeichen mußt du drucken? Wieviel Sternchen mußt du drucken?

In der dritten Zeile. Wieviel Leerzeichen mußt du drucken? Wieviel Sternchen mußt du drucken?

In der vierten Zeile. Wieviel Leerzeichen mußt du drucken? Wieviel Sternchen mußt du drucken?

...

In der n-ten Zeile. Wieviel Leerzeichen mußt du drucken? Wieviel Sternchen mußt du drucken?

Du solltest da einen Zusammenhang feststellen können. Dann schau dir nochmal den Code an und überleg was da passiert.
 
Wie das Programm grundlegend funktioniert, weiß ich. Dann muss ich wohl weiter überlegen. Danke.

Ich muss allerdings von selbst auf diese Lösung kommen. Du kannst mir doch nicht sagen, dass dir die drei for-Schleifen einfach so aus dem Gedächtnis fallen. Gibt es keinen Ansatz wie man darauf kommt? Ich dachte an sowas wie eine Zerlegung in Einzelschritte oder Teilprobleme. Ich habe eine komplexere Aufgabe vom selben Typ. Und da kann man definitiv nicht so rangehen einfach ein paar Schleifen aus dem Arm zu schütteln. Also zumindest ich kann das nicht.
Ich stelle meine Fragen dann einfach mal noch konkreter. Mit welcher Schleife fängst du an? Es handelt sich im Wesentlichen um die beiden, die jeweils das "X" und das " " ausgeben. Das ist mir klar. Aber mit den Hilfsvariablen s und L kann ich einfach nichts anfangen.
Ich muss hinzufügen, dass ich gerade erst mit Programmieren in C im ersten Semester bin und mir es einfach darum geht, grundsätzliche Herangehensweise nachvollziehen zu können. Mir ist klar, dass das Problem vergleichsweise trivial ist.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück