<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dreieck]]></title><description><![CDATA[<p>Moin moin,</p>
<p>ich soll ein Dreieck auswerfen wo Breite und Höhe eingelesen werden können.</p>
<p>Ich bekomm auch ein Dreieck hin, aber nur bei gleichen Seiten. Bei unterschiedlichen Seiten zerhagelt es jegliche Formatirung.</p>
<pre><code class="language-cpp">int breite,hoehe,position,nochmal;
	bool neubeginn,neubeginn2;

	do 
	{
		int x=35,y=0,i,weite=2;
		neubeginn=false;

		cout&lt;&lt;&quot; Bitte geben sie die Hoehe(min 6 max 24) des Dreiecks an&quot;;
		cin&gt;&gt;hoehe;
		cout&lt;&lt;&quot; Bitte geben sie die Breite(min 6 max 24) des Dreiecks an&quot;;
		cin&gt;&gt;breite;
		cout&lt;&lt;&quot;Wollen sie das Dreieck auf dem Kopf darstellen? Nein[1] oder Ja[2]&quot;;
		cin&gt;&gt;position;

		switch (position)
		{

		case 1: 
			{
				if (((breite&gt;5) &amp;&amp; (hoehe&gt;5)) &amp;&amp; ((breite&lt;25) &amp;&amp; (hoehe&lt;25)))				

				{
						cout&lt;&lt;setw(x);															//Ausgabe des obersten Punktes
						cout&lt;&lt;&quot;*&quot;&lt;&lt;endl;
						x=x--;

					for (i=3; i&lt;=hoehe; i++)
					{
						cout&lt;&lt;setw(x);
						cout&lt;&lt;&quot;*&quot;&lt;&lt;setw(weite)&lt;&lt;&quot;*&quot;&lt;&lt;endl;
						x--;
						weite=weite+2;
					}

					cout&lt;&lt;setw(x);

					for (i=0; i&lt;breite; i++)
					{
						cout&lt;&lt;&quot;*&quot;;
						cout&lt;&lt;char(00);
					}
					cout&lt;&lt;endl&lt;&lt;endl;
					break;
				}	

				else
					{
						cout&lt;&lt;&quot;Falsche Eingabe&quot;&lt;&lt;&quot;\n&quot;;
						neubeginn=true;
						break;
					}

			}
			break;
		case 2:
			{	
				if (((breite&gt;5) &amp;&amp; (hoehe&gt;5)) &amp;&amp; ((breite&lt;25) &amp;&amp; (hoehe&lt;25)))				
				{
						x=x-breite;
					cout&lt;&lt;setw(x);

					for(i=1; i&lt;=breite; i++)
					{
						cout&lt;&lt;&quot;*&quot;;
						cout&lt;&lt;char(00);
					}

					cout&lt;&lt;endl;
					x++;

					for (i=3; i&lt;=hoehe; i++)
					{
						cout&lt;&lt;setw(x);
						cout&lt;&lt;&quot;*&quot;&lt;&lt;setw((breite*2)-weite-2)&lt;&lt;&quot;*&quot;&lt;&lt;endl;
						x++;
						breite--;							
					}

					cout&lt;&lt;setw(34)&lt;&lt;&quot;*&quot;&lt;&lt;endl;
					break;
				}	

				else
					{
						cout&lt;&lt;&quot;Falsche Eingabe&quot;&lt;&lt;&quot;\n&quot;;
						neubeginn=true;
						break;
					}

			}
			break;
</code></pre>
<p>Das ist mein Ansatz, aber ich komm überhaupt nicht weiter.</p>
<p>gruß<br />
Ferdi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243423/dreieck</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 03:27:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243423.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Jun 2009 14:20:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dreieck on Tue, 16 Jun 2009 14:20:14 GMT]]></title><description><![CDATA[<p>Moin moin,</p>
<p>ich soll ein Dreieck auswerfen wo Breite und Höhe eingelesen werden können.</p>
<p>Ich bekomm auch ein Dreieck hin, aber nur bei gleichen Seiten. Bei unterschiedlichen Seiten zerhagelt es jegliche Formatirung.</p>
<pre><code class="language-cpp">int breite,hoehe,position,nochmal;
	bool neubeginn,neubeginn2;

	do 
	{
		int x=35,y=0,i,weite=2;
		neubeginn=false;

		cout&lt;&lt;&quot; Bitte geben sie die Hoehe(min 6 max 24) des Dreiecks an&quot;;
		cin&gt;&gt;hoehe;
		cout&lt;&lt;&quot; Bitte geben sie die Breite(min 6 max 24) des Dreiecks an&quot;;
		cin&gt;&gt;breite;
		cout&lt;&lt;&quot;Wollen sie das Dreieck auf dem Kopf darstellen? Nein[1] oder Ja[2]&quot;;
		cin&gt;&gt;position;

		switch (position)
		{

		case 1: 
			{
				if (((breite&gt;5) &amp;&amp; (hoehe&gt;5)) &amp;&amp; ((breite&lt;25) &amp;&amp; (hoehe&lt;25)))				

				{
						cout&lt;&lt;setw(x);															//Ausgabe des obersten Punktes
						cout&lt;&lt;&quot;*&quot;&lt;&lt;endl;
						x=x--;

					for (i=3; i&lt;=hoehe; i++)
					{
						cout&lt;&lt;setw(x);
						cout&lt;&lt;&quot;*&quot;&lt;&lt;setw(weite)&lt;&lt;&quot;*&quot;&lt;&lt;endl;
						x--;
						weite=weite+2;
					}

					cout&lt;&lt;setw(x);

					for (i=0; i&lt;breite; i++)
					{
						cout&lt;&lt;&quot;*&quot;;
						cout&lt;&lt;char(00);
					}
					cout&lt;&lt;endl&lt;&lt;endl;
					break;
				}	

				else
					{
						cout&lt;&lt;&quot;Falsche Eingabe&quot;&lt;&lt;&quot;\n&quot;;
						neubeginn=true;
						break;
					}

			}
			break;
		case 2:
			{	
				if (((breite&gt;5) &amp;&amp; (hoehe&gt;5)) &amp;&amp; ((breite&lt;25) &amp;&amp; (hoehe&lt;25)))				
				{
						x=x-breite;
					cout&lt;&lt;setw(x);

					for(i=1; i&lt;=breite; i++)
					{
						cout&lt;&lt;&quot;*&quot;;
						cout&lt;&lt;char(00);
					}

					cout&lt;&lt;endl;
					x++;

					for (i=3; i&lt;=hoehe; i++)
					{
						cout&lt;&lt;setw(x);
						cout&lt;&lt;&quot;*&quot;&lt;&lt;setw((breite*2)-weite-2)&lt;&lt;&quot;*&quot;&lt;&lt;endl;
						x++;
						breite--;							
					}

					cout&lt;&lt;setw(34)&lt;&lt;&quot;*&quot;&lt;&lt;endl;
					break;
				}	

				else
					{
						cout&lt;&lt;&quot;Falsche Eingabe&quot;&lt;&lt;&quot;\n&quot;;
						neubeginn=true;
						break;
					}

			}
			break;
</code></pre>
<p>Das ist mein Ansatz, aber ich komm überhaupt nicht weiter.</p>
<p>gruß<br />
Ferdi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727674</guid><dc:creator><![CDATA[Ferdili]]></dc:creator><pubDate>Tue, 16 Jun 2009 14:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to Dreieck on Tue, 16 Jun 2009 14:46:30 GMT]]></title><description><![CDATA[<p>Kleiner Denkstupser: In jeder Zeile rückst du den Stern um 1 weiter. Dieser Abstand 1 passt aber nur genau für den Fall hoehe = breite. Wenn das Dreieck doppelt so breit wie hoch ist, müsstest du jeden Stern um 2 weiterrücken, wenn es dreimal so breit wie hoch ist, um 3 etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727690</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 16 Jun 2009 14:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to Dreieck on Tue, 16 Jun 2009 16:33:13 GMT]]></title><description><![CDATA[<p>Nicht nur, dass dein Quellcode extrem unübersichtlich ist und so aussieht, als ob er von vielen verschiedenen Personen wäre (einmal weiß der programmierer, dass x-- reicht und das andere mal schreibt er x=x-- etc), mal ne alternative zu setw() - vll ja nen kleiner denkanstoß:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void male_dreieck(int breite, int hoehe)
{
	const float m = float(breite)/hoehe;
	for(int i=0; i != hoehe; ++i)
	{
		for(int j=0; j &lt; breite-i*m; ++j)
		{
			std::cout &lt;&lt; &quot;#&quot;;
		}
		std::cout &lt;&lt; &quot;\r\n&quot;;
	}
	std::cout &lt;&lt; std::endl;
}

int main()
{
	int breite;
	std::cin &gt;&gt; breite;
	int hoehe;
	std::cin &gt;&gt; hoehe;
	male_dreieck(breite, hoehe);

}
</code></pre>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727733</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 16 Jun 2009 16:33:13 GMT</pubDate></item></channel></rss>