Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Relative Häufigkeit,wieoft ein buchstabe in einem wort ist (https://www.delphipraxis.net/71822-relative-haeufigkeit-wieoft-ein-buchstabe-einem-wort-ist.html)

Nicole 21. Jun 2006 15:37


Relative Häufigkeit,wieoft ein buchstabe in einem wort ist
 
Hallo!

Also,ich hab e vor ein Programm zu schreiben,welche die relative Häufigkeit(in Prozent) >eines Buchstabens in einem Wort ausrechnet. Das Wort muss ja ein Zeichenkette sein und der Buchstabe ein Typ Char ....leider war das auch schon...kann mir jemand helfen?


Nicole

Mr. Pink 21. Jun 2006 15:43

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
-mit ner schleiefe alle zeichen durchgehen und eine integervariable um eins erhöhen, sobald das gesuchte zeichen gefunden wurde

-den erhatene anzahl / allgemeine anzahl der zeichen = relative häufigkeit

..oder nich?

HuxXx 21. Jun 2006 15:47

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
Hab kein Delphi hier, aber so müsste es gehen:

Delphi-Quellcode:
function blabla(wort:string, buchstabe: char):Extended;
var i, anzahl:integer;
begin
anzahl:=0;
for i:=1 to length(wort) do begin
if wort[i]=buchstabe then begin
anzahl:= anzahl+1;
end;
end;
result:= (length(anzahl) / length(word))*100;
end;
Müsste eigentlich funktionieren, könnte aber au fehler drin sein...

Dat hier z.B. im onClick Event eines buttons oder so...
Delphi-Quellcode:
ShowMessage(FloatToStr(blabla('hallo','l'))+' % des Wortes...);
Greetz by Hux :dp:

Nicole 21. Jun 2006 15:49

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
aha...aber ich kanns mir überhaupt nciht als quelltext vorstellen...
und was geb ich für ne formel für die relative häufigkeit an?

HuxXx 21. Jun 2006 15:51

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
Die Formel für die Häufigkeit des Wortes (in %):

(Anzahl der gefundenen Zeichen / Anzahl der Wörter insgesamt)*100 = Häufigkeit in Prozent...

Nicole 21. Jun 2006 15:51

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
function blabla(wort:string, buchstabe: char):Extended; was bedeutet die zeile...also extended?

HuxXx 21. Jun 2006 15:52

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
Extended ist ein Datentyp der Fließkommazahlen (also z.B. 3,44 oder 345,5123) speichert.
Das Ergebnis der Funktion (also Häufigkeit in %) ist ein Wert vom Typ Extended.

Nicole 21. Jun 2006 15:57

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
result:= (length(anzahl) / length(word))*100 da hab ich ja dann zwei verschiedene typen einmal string und einmal integer und das dfunktioniert nicht

außerdem möchte ich das über einen button steuern? *ach mist*

HuxXx 21. Jun 2006 17:51

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
Also über einen Button kannst du das so steuern:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FloatToStr(blabla('hallo','l'))+' % des Wortes...);
end;
Zitat:

Zitat von Nicole
result:= (length(anzahl) / length(word))*100 da hab ich ja dann zwei verschiedene typen einmal string und einmal integer und das dfunktioniert nicht

Die verschiedenen Typen kannst du ja dann umwandeln.
Das geht mit FloatToStr(x) und StrToFloat(x).
und:
äähhmm..., wo hast du denn einen String und einen integer?
Das Ergebnis dieser Funktion ist ein Float.
Und den kannst du mit den oben genannten Funktionen in einen String umwandeln.

HuxXx 21. Jun 2006 18:03

Re: Relative Häufigkeit,wieoft ein buchstabe in einem wort
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, hab n Beispiel geschrieben, damit müsstest du es kapieren.

achja, hab n paar fehler in der funktion oben gefunden..., hier verbesserung:

Delphi-Quellcode:
function blabla(wort:string; buchstabe: char):Extended;
var i, anzahl:integer;
begin
anzahl:=0;
for i:=1 to length(wort) do begin
if wort[i]=buchstabe then begin
anzahl:= anzahl+1;
end;
end;
result:= (anzahl / length(wort))*100;
end;
Greetz by Hux :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz