<?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[String sortieren und im array speichern]]></title><description><![CDATA[<p>huhu, :&gt;</p>
<p>ich habe ein Array bestehend aus Zahlen. Diese Zahlen sind sounter und zählen die häufigkeit einer bestimmten Zahl. Wobei das Feld[0] die häufigkeit für 'a' enthält, Feld[1] für 'b'.</p>
<p>Meine Zuordnung der Buchstaben zuf häufigkeit erfolgt via Differenz der Buchstaben 'z' - 'a' in einer for-Schleife.</p>
<pre><code class="language-cpp">for(int i = 0; i &lt;= 'z' - 'a'; i++)
				{
					if(count[i] != 0)									 			
					{
						cout &lt;&lt; static_cast&lt;char&gt;('a'+i) &lt;&lt; &quot;: &quot; &lt;&lt; count[i];

					}
				}
</code></pre>
<p>Das Array mit den Zählern ist:</p>
<pre><code>int count[26];
</code></pre>
<p>Nun habe ich das Feld mit den Zählern Sorieren lassen:</p>
<pre><code class="language-cpp">for(int i = 26; i &gt; 0; i-- )			
	{

		for(int k = 0; k &lt; i; k++)				// Schleife für die Einzelvergleiche
		{
			if(count[k] &gt; count[k+1])
			{

				int t = count[k];

				count[k] = count[k+1];

				count[k+1] = t;				

			}
		}
	}
</code></pre>
<p>Das hat funktioniert und mein Array ist absteigend sortiert. Nun ist aber schon mein Problem ersichtlich: Wie komme ich nun wieder an meine Zuordnung der Counter zu den entsprechenden Zeichen? :&gt;</p>
<p>Dazu folgt noch mein 2tes Problem. Wenn in dem Array 2 gleiche Zähler auftauchen(sprich 2 Felder die gleiche Anzahl der Counter haben), soll bei der Ausgabe das Zeichen mit den niedrigsten Zeichencode bei der Ausgabe 'L' enthalten und das mit den höchsten Zeichencode ein 'H'.</p>
<p>Es könnte z.B. so aussehen:</p>
<pre><code>-&gt; &quot;abba cool&quot;
a: 2 (L)    // da a = 62 dezialzahl glaube
b: 2
c: 1
o: 2 (H)
l: 1
</code></pre>
<p>Ich sitz da schon und grübel. Beim Bubble-Algo war ich schon stolz das der so n bissel funktioniert... ^^ aber nun häng ich wieder -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198122/string-sortieren-und-im-array-speichern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 20:28:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198122.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Nov 2007 17:52:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String sortieren und im array speichern on Sun, 18 Nov 2007 17:52:14 GMT]]></title><description><![CDATA[<p>huhu, :&gt;</p>
<p>ich habe ein Array bestehend aus Zahlen. Diese Zahlen sind sounter und zählen die häufigkeit einer bestimmten Zahl. Wobei das Feld[0] die häufigkeit für 'a' enthält, Feld[1] für 'b'.</p>
<p>Meine Zuordnung der Buchstaben zuf häufigkeit erfolgt via Differenz der Buchstaben 'z' - 'a' in einer for-Schleife.</p>
<pre><code class="language-cpp">for(int i = 0; i &lt;= 'z' - 'a'; i++)
				{
					if(count[i] != 0)									 			
					{
						cout &lt;&lt; static_cast&lt;char&gt;('a'+i) &lt;&lt; &quot;: &quot; &lt;&lt; count[i];

					}
				}
</code></pre>
<p>Das Array mit den Zählern ist:</p>
<pre><code>int count[26];
</code></pre>
<p>Nun habe ich das Feld mit den Zählern Sorieren lassen:</p>
<pre><code class="language-cpp">for(int i = 26; i &gt; 0; i-- )			
	{

		for(int k = 0; k &lt; i; k++)				// Schleife für die Einzelvergleiche
		{
			if(count[k] &gt; count[k+1])
			{

				int t = count[k];

				count[k] = count[k+1];

				count[k+1] = t;				

			}
		}
	}
</code></pre>
<p>Das hat funktioniert und mein Array ist absteigend sortiert. Nun ist aber schon mein Problem ersichtlich: Wie komme ich nun wieder an meine Zuordnung der Counter zu den entsprechenden Zeichen? :&gt;</p>
<p>Dazu folgt noch mein 2tes Problem. Wenn in dem Array 2 gleiche Zähler auftauchen(sprich 2 Felder die gleiche Anzahl der Counter haben), soll bei der Ausgabe das Zeichen mit den niedrigsten Zeichencode bei der Ausgabe 'L' enthalten und das mit den höchsten Zeichencode ein 'H'.</p>
<p>Es könnte z.B. so aussehen:</p>
<pre><code>-&gt; &quot;abba cool&quot;
a: 2 (L)    // da a = 62 dezialzahl glaube
b: 2
c: 1
o: 2 (H)
l: 1
</code></pre>
<p>Ich sitz da schon und grübel. Beim Bubble-Algo war ich schon stolz das der so n bissel funktioniert... ^^ aber nun häng ich wieder -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405482</guid><dc:creator><![CDATA[Keydo]]></dc:creator><pubDate>Sun, 18 Nov 2007 17:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to String sortieren und im array speichern on Sun, 18 Nov 2007 18:24:03 GMT]]></title><description><![CDATA[<p>du sortiert wie du es schon gemacht hast, und bei jedem swap</p>
<pre><code class="language-cpp">int t = count[k];

                count[k] = count[k+1];

                count[k+1] = t;
</code></pre>
<p>machst du ein swap bei den buchstaben array mit den gleichen indexen (k)</p>
<p>also mach dies, wenn du das oben machst:</p>
<pre><code class="language-cpp">char c = cline[k];

                cline[k] = cline[k+1];

                cline[k+1] = c;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1405500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405500</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Sun, 18 Nov 2007 18:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to String sortieren und im array speichern on Sun, 18 Nov 2007 18:52:46 GMT]]></title><description><![CDATA[<p>*grübel* an der Umsetzung mangelt es noch. Ich kriege es nicht hin.</p>
<p>Ich könnte noch ein Feld anlegen.Und in diesem Feld werden dann die Dezimalzahlen der Tastencodes in der Reihenfolge gespeichert wie sie bereits sortiert sind.</p>
<p>also:</p>
<pre><code class="language-cpp">int sort_array[26];
</code></pre>
<p>uiui ... nicht einfach -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405524</guid><dc:creator><![CDATA[Keydo]]></dc:creator><pubDate>Sun, 18 Nov 2007 18:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to String sortieren und im array speichern on Sun, 18 Nov 2007 23:02:57 GMT]]></title><description><![CDATA[<p>Nabend,</p>
<p>ich sehe das Problem nicht so ganz. Du hast halt noch ein weiteres Array:</p>
<pre><code class="language-cpp">char chars[] = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
</code></pre>
<p>Naja und dann machst du eben, wenn es sein muss einfach ein</p>
<pre><code class="language-cpp">std::swap(count[k], count[k+1]);
std::swap(chars[k], chars[k+1]);
</code></pre>
<p>Dann kannst du das letzte Kriterium ja auch recht einfach ueberpruefen.</p>
<p>gruss<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405631</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Sun, 18 Nov 2007 23:02:57 GMT</pubDate></item></channel></rss>