Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
721 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Zerteilen eines String in einzelne Zeichen

  Alt 25. Jun 2021, 09:48
Oder so... zählt die Zeichen und ermittelt auch die Anzahl Konsonanten und Vokale:

Delphi-Quellcode:
procedure absolute_haeufigkeit( satz : string; hs : TStringList );
var zeichen : char;

    procedure zaehler( was : string );
    var anzahl : integer;
    begin
        anzahl := strtointdef(hs.Values[was],0);
        if (anzahl = 0) then hs.Add( was + '=1' ) else hs.Values[was] := inttostr(anzahl+1);
    end;
begin
  satz := Uppercase( satz );
  for zeichen in satz do
    if CharInSet( zeichen, ['A'..'Z'] ) then
    begin
      zaehler( zeichen );
      if CharInSet( zeichen, ['A','E','I','O','U'] ) then zaehler( '*Vokale' ) else zaehler( '*Konsonanten' );
    end;
end;
Main:

Delphi-Quellcode:
var hs : TStringList;

begin
  hs := TStringList.Create;
  absolute_haeufigkeit( 'Hallo, dies ist ein Test.', hs );
  hs.Sort;
  writeln( hs.Text );
  hs.Free;
  readln;
end.
Damit es auch für andere Sätze funktioniert, musst du das Hauptprogramm anpassen . Geschätzter Aufwand: 3h googlen.
Michael Gasser

Geändert von Michael II (25. Jun 2021 um 09:58 Uhr)
  Mit Zitat antworten Zitat