huhu, :>
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'.
Meine Zuordnung der Buchstaben zuf häufigkeit erfolgt via Differenz der Buchstaben 'z' - 'a' in einer for-Schleife.
Das Array mit den Zählern ist:
Nun habe ich das Feld mit den Zählern Sorieren lassen:
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? :>
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'.
Es könnte z.B. so aussehen:
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 -.-
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'.
Meine Zuordnung der Buchstaben zuf häufigkeit erfolgt via Differenz der Buchstaben 'z' - 'a' in einer for-Schleife.
C++:
for(int i = 0; i <= 'z' - 'a'; i++)
{
if(count[i] != 0)
{
cout << static_cast<char>('a'+i) << ": " << count[i];
}
}
Das Array mit den Zählern ist:
Code:
int count[26];
Nun habe ich das Feld mit den Zählern Sorieren lassen:
C++:
for(int i = 26; i > 0; i-- )
{
for(int k = 0; k < i; k++) // Schleife für die Einzelvergleiche
{
if(count[k] > count[k+1])
{
int t = count[k];
count[k] = count[k+1];
count[k+1] = t;
}
}
}
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? :>
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'.
Es könnte z.B. so aussehen:
Code:
-> "abba cool"
a: 2 (L) // da a = 62 dezialzahl glaube
b: 2
c: 1
o: 2 (H)
l: 1
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 -.-