program Frequency;
uses Crt;
type
TLetter = record
c: char;
freq: integer;
end;
var
letters: array of TLetter;
lettersNum: integer;
s: string;
i: integer;
function FindLetter(char charToFind): integer;
var
i: integer;
begin
for i := 0 to lettersNum-1 do
begin
if Letters[1].c = charToFind then
begin
FindLetter := i;
Exit;
end;
end;
FindLetter := -1;
end;
procedure AddLetter(char charToAdd);
begin
Inc(lettersNum);
SetLength(letters);
letters[lettersNum-1].c := charToAdd;
letters[lettersNum-1].freq := 0;
end;
procedure SortLetters; (* написал пузырек, ибо быстро, можете поменять потом *)
var
tempLetter: TLetter;
i: integer;
begin
for i := 0 to lettersNum-1 do
begin
for j := i to lettersNum-1 do
begin
if letters.freq > letters.freq then
begin
tempLetter.c := letters.c;
tempLetter.freq := letters.freq;
letters.c := letters[j].c;
letters.freq := letters[j].freq;
letters[j].c := tempLetter.c;
letters[j].freq := tempLetter.freq;
end;
end;
end;
procedure PrintLetters;
var
i: integer;
begin
for i := 0 to lettersNum-1 do WriteLn(letters.c, ': ', letters.freq);
end;
begin
ClrScr;
ReadLn(s);
for i := 1 to Length(s) do if FindLetter(s) = -1 then AddLetter(s);
SortLetters;
PrintLetters;
ReadLn;
end.
(Паскаль) Люди добрые помогите решить задачу
Подсчитать частоту длин слов в тексте! То есть подсчитать буквы в слове и вывести их по порядку! ПОМОГИТЕ ПОЖАЛУЙСТА((((((((((((((((