
26.05.2007, 14:53
|
|
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
С нами:
10439609
Репутация:
71
|
|
Сообщение от _-[A.M.D]HiM@S-_
7. Задан текст. Необходимо построить список слов, который есть в этом тексте. Определить сколько раз встречается каждое слово в этом тексте.
var
f:textfile;
str,word:string;
i,j,m,n:integer;
arrstr:array of string;
begin
assignfile(f,'test.txt');
reset(f);
n:=0;
while not eof(f) do
begin
readln(f,str);
m:=Length(str);
i:=0;
while i<=m do
begin
case str[i] of
'а'..'я','А'..'Я':
begin
word:=word+str[i];
inc(i);
end;
else
begin
if word<>'' then
begin
inc(n);
SetLength(arrstr,n);
word:=AnsiLowerCase(word);
arrstr[n-1]:=word;
word:='';
end;
inc(i);
end;
end;
end;
end;
for i:=0 to n-1 do
begin
if arrstr[i]='' then continue;
m:=1;
for j:=i+1 to n-1 do
begin
if arrstr[j]='' then continue;
if arrstr[i]=arrstr[j] then
begin
inc(m);
arrstr[j]:='';
end;
end;
writeln(arrstr[i]+' '+IntToStr(m));
arrstr[i]:='';
end;
end;
Последний раз редактировалось da_ff; 26.05.2007 в 14:55..
|
|
|