Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Тест-форум (http://forum.oszone.net/forumdisplay.php?f=26)
-   -   Паскаль (множествненый тип данных) (http://forum.oszone.net/showthread.php?t=224000)

sanazak 28-12-2011 20:56 1824357

Паскаль (множествненый тип данных)
 
Собственно задача - считать текст из текстового файла и составить "словарик" из слов, содержащихся в нем. Словарик сделать через массив множеств в 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 1825715

sanazak, воспользуйся тегом CODE, добавь отступы и комментарии


Время: 18:28.

Время: 18:28.
© OSzone.net 2001-