Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#46

AW: Buchstabenhäufigkeit

  Alt 6. Mär 2017, 18:51
Ok, das ändert das Grundproblem der bisherigen Implementierung aber nicht, nur den Lösungsansatz.

Statt auf Leerzeichen wird halt dann auf Buchstaben geprüft.
Delphi-Quellcode:
function ZaehleVorkommenVonIn(Zeichen : Char; Zeichenfolge : String) : Integer;
var
         i : Integer;
begin
  // Erstmal gehen wir von keinem Wort aus.
  Result := 0;
  Zeichenfolge := Trim(Zeichenfolge) + ' ';
  for i := 1 to Length(Zeichenfolge) do begin
    if Zeichenfolge[i] = Zeichen then Result := Result + 1;
  end;
end;

var
    Zeichenfolge : String;
    Anzahl : Integer;
    Index : Char;
begin
  // Wollen (erstmal) nicht zwischen Groß- und Kleinschreibung unterscheiden.
  Zeichenfolge := Trim(AnsiUpperCase(Edit1.Text));
  // Einmal für jeden Großbuchstaben.
  for Index := 'Ato 'Zdo begin
    // zählen
    Anzahl := ZaehleVorkommenVonIn(Index,Zeichenfolge);
    // Und in eine Zelle den Buchstabenschreiben und die Anzahl seines Vorkommens.
    StringGrid1.Cells[0,Ord(Index) - 64] := Index;
    StringGrid1.Cells[1,Ord(Index) - 64] := IntToStr(Anzahl);
  end;
  // Jetzt zählen wir noch die Leerzeichen ...
  Anzahl := ZaehleVorkommenVonIn(' ',Zeichenfolge + ' ');
  // und wissen, wieviele Worte im Text vorkommen.
  StringGrid1.Cells[0,27] := 'Worte';
  StringGrid1.Cells[1,27] := IntToStr(Anzahl);
end;
  Mit Zitat antworten Zitat