PDA

Показать полную графическую версию : Паскаль (множествненый тип данных)


sanazak
28-12-2011, 20:56
Собственно задача - считать текст из текстового файла и составить "словарик" из слов, содержащихся в нем. Словарик сделать через массив множеств в 1 поле которого - слово, в другом - колличество раз, сколько оно употребилось в тексте. Вот та программа, которую разработал я, но она не работает( помогите пожалуйста разобратся (PascalABC).
program Individualka2;
type slovo=record;
word:string[30];
count:byte;
end;
var slovar:array [1..100] of slovo;
f,f1:text;
s:string;
i,j,k:integer;
b:boolean;

begin
j:=1;
assign(f,'input.dat');
reset(f);
while not eof(f) do
begin
read(f,s[1]);
s[1]:=lowcase(s[1]);
i:=1;
while not((s[i]=' ') or (s[i]='-') or (s[i]='.') or (s[i]=',') or (s[i]=':') or (s[i]=';')) do
begin
i:=i+1;
read(f,s[i]);
end;
b:=true;
if not((s[1]=' ') or (s[1]='-')or(s[1]='.')or(s[1]=',')or(s[1]=':')or(s[1]=';')) then
begin
delete(s,i,1);
for k:=1 to j do
if s<>slovar[k].word then b:=b and true
else begin b:=b and false; slovar[k].count:=slovar[k].count+1 end;
if b then begin slovar[j].word:=s;slovar[j].count:=1;j:=j+1 end;

end;
end;

assign(f1,'output.dar');
rewrite(f1);
for i:=1 to j-1 do
writeln(f1,slovar[i].word,' ',slovar[i].count);
close(f);
close(f1);
end.

Hector
30-12-2011, 18:19
sanazak, воспользуйся тегом CODE, добавь отступы и комментарии




© OSzone.net 2001-2012