Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - function HaeufigstesZeichen ermitteln ???
red-7-seven - Fr 24.01.03 14:46
Titel: function HaeufigstesZeichen ermitteln ???
Hi !
Ich habe eine Funktion geschrieben, die die Häufigkeiten der verschiedenen Zeichen in einem String ermittelt und als Funktionsergebnis liefert.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| type TBuchstabe='a'..'d'; THaeufigkeiten= array [TBuchstabe] of byte;
function h(text:string):THaeufigkeiten; var i:TBuchstabe; j,k:byte; temp:THaeufigkeiten; begin for i:=low(TBuchstabe) to high(TBuchstabe)do Temp[i]:=0;
for i:=low(TBuchstabe) to high(TBuchstabe)do for j:=1 to length(text) do if (text[j]=i) then inc(temp[i]); h:=temp; end; |
Nun zu meinem Problem...
Schreiben sie eine Funktion, die aus der obigen Daten das häufigst vorkommende Zeichen ermittelt und als Funktionsresultat liefern. Bei gleicher Häufigkeit von Zeichen ist das mit dem kleineren Ordinalwert zu liefern.
Kann mir da jemand helfen?
*vielen Dank im voraus*
MfG
red-7-seven
Moderiert von
Tino: Code-Tags hinzugefügt.
Christian S. - Fr 24.01.03 15:43
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| VAR myarray : THaeufigkeiten; i, max : TBuchstabe; begin myarray:=h(my_tect); max:='a'; for i:=Low(myarray) To High(myarray) do if myarray[i] > myarray[max] then max:=i; result:=max; end; |
Das sollte eigentlich das sein, was Du brauchst. Da ich ein "echtes" Größerzeichen verwende, sollte bei gleicher Häufigkeit der "kleinere" Buchstabe zurückgeliefert werden.
MfG,
Peter
P.S.: Hoffe, es stimmt so. Irgendwie produziere ich heute nur Stuss. :wink:
red-7-seven - Fr 24.01.03 16:41
Titel: Danke!
Ganz lieben Dank!
irgendwie gar nich schwer - aber ich wär nich drauf gekommen! *danke*
MfG
red-7-seven
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!