Zum Inhalt springen

Zeichenausgabe im Quadrat..


little.Lizard

Empfohlene Beiträge

Moin!

Erstmal hi@all, bin Frischling und noch ein wenig schüchtern.. :D

Bin nicht mehr ganz der C++ Neuling, aber im Moment häng ich grad ein wenig.. Ich möchte eine kleine Funktion schreiben die eine Integerzahl und ein Zeichen nimmt und mir daraus ein Quadrat bastelt. Das ganze würde dann in etwa so aussehen:

Zahl: 6

Zeichen: *

******

* ---- *

* ---- *

* ---- *

* ---- *

******

(' - ' = Leerzeichen)

Ich soll die ganze Sache mit 2 for-Schleifen realisieren, bei mir sind es mittlerweile 4 und es passiert immer noch nicht was passieren soll.. :rolleyes:

Es ist mir zwar jetzt schon peinlich, aber hier ist mal mein momentaner Code.

int design2(int zahl, char zeic)

{

	for (int i=1;i<=zahl;i++)

	{

		cout << zeic;

	}

	cout << endl;

	for (int j;j<=(zahl-2);j++)

	{

		cout << zeic;

		for (int k=1;k<=(zahl-2);k++)

		{

			cout << " ";

		}

		cout << zeic << endl;

	}

	for (int l=1;l<=zahl;l++)

	{

		cout << zeic;

	}


	return 0;

}
Hab wahrscheinlich nur wieder zu kompliziert und um 1000 Ecken gedacht. Ich hoffe jemand von euch hat Erbarmen mit meiner Wenigkeit.. Gruß, die kleine (auf der Leitung stehende) Echse EDIT: .. -_- .. Hab meinen Fehler grad gefunden..
for (int j[COLOR=RoyalBlue]=1[/COLOR];j<=(zahl-2);j++)

Wäre trotzdem nett wenn mir jemand eine vielleicht kürzere Variante aufschreiben könnte, 4 Schleifen sind schon zu viel..

Link zu diesem Kommentar
Auf anderen Seiten teilen


#include <iostream>


using namespace std;


int design2(int seite, char z)

{

	for (int i = 0; i < seite; i++)

	{

		cout << z;

		for (int j = 2; j < seite; j++)

		{

			if (i == 0 || i == seite - 1)

				cout << z;

			else

				cout << " ";

		}

		cout << z << endl;

	}

	return 0;

}


void main()

{

	design2(12,'*');


	cin.get();

}

wenn du Probleme mit Verständnis hast, meld dich einfach :)

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hello again!

Wäre net wenn nochmal jemand einen Blick auf meinen Code werfen könnte. Das Prinzip ist das selbe wie oben, Eingabe einer Zahl und eines Zeichens, die Ausgabe soll eine auf dem Kopf stehende Pyramide sein.

In etwa so:

Zahl: 6

Zeichen:*

******

-****

--**

Zahl: 7

Zeichen: *

*******

-*****

--***

---*

(' - ' = Leerzeichen)

Hier mein jetztiger Code:

int design3(int zahl, char zeic)

{

	for (int i=1;i<=zahl;i++)

	{

		for (int j=0;j<=i-2;j++)

		{

			cout << " ";

		}

		for (int k=1;k<=zahl;k++)

		{

			cout << zeic;

		}

		zahl-=2;

		cout << endl;

	}

	return 0;

}

Funktioniert gut außer dass er mir die letzte Zeile nicht ausgibt. Und ich seh vor lauter Code den Fehler net.. *need coffee*

Außerdem hab ich schon wieder zu viele Schleifen.. -_-

Muchas Gracias schonmal.. :)

so long

Link zu diesem Kommentar
Auf anderen Seiten teilen

Daß die Pyramide nicht bis zum Schluß gezeichnet wird, liegt daran, daß du zahl ja immer um 2 dekrementierst, in der äußersten Schleife aber auch i und zahl vergleichst. Wenn du zahl etwas größer wählst, siehst du, daß er noch mehr Ebenen ausläßt. i wird immer größer, aber zahl immer kleiner :)

Hier ein Code, der zumindest bei mir funktioniert hat:

void design4(int zahl, char zeic)

{

	for (int i=0; i < zahl; i++)

	{

		for (int j = 0; j < zahl - i; j++)

			if (j < i)

				cout << " ";

			else

				cout << zeic;


		cout << endl;

	}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...