Цитата:
Сообщение от shutti
Люди помогите решить задачи на PASCAL-е. Заранее спосибо.
1) Дан файл, содержащий текст. Определить, сколько раз встречается в нем самое короткое слово.
|
VAR
f,f1,f2:TEXT;
S,Sh_Word:STRING;
Sh_Lng:BYTE;
Sh_Num:WORD;
Ch:Char;
BEGIN
Assign(f,'D:\Txt');
ReSet(f);
Assign(f1,'D:\TTT');
ReWrite(f1);
Assign(f2,'D:\TXX');
ReWrite(f2);
REPEAT
Read(f,Ch);
IF (Ch=' ') OR (Ch='.') OR (Ch=',') OR (Ch='!') OR (Ch='?')
OR (Ch=':') OR (Ch=';') OR (Ch='(') OR (Ch=')') OR (Ch='-')
THEN Writeln(f1) ELSE Write(f1,Ch);
UNTIL EoF(f);
Close(f);
Close(f1);
ReSet(f1);
REPEAT
Readln(f1,S);
IF S<>'' THEN WriteLn(f2,S);
UNTIL EoF(f1);
Close(f1);
Close(f2);
ReSet(f2);
Sh_Lng:=255;
REPEAT
Readln(f2,S);
IF Length(S)<Sh_Lng THEN
BEGIN
Sh_Lng:=Length(S);
Sh_Word:=S;
END;
UNTIL EoF(f2);
ReSet(f2);
Sh_Num:=0;
REPEAT
Readln(f2,S);
IF S=Sh_Word THEN INC(Sh_Num);
UNTIL EoF(f2);
Close(f2);
Erase(f1);
Erase(f2);
Writeln('The shortest word "',Sh_Word,'" is ',Sh_Num,' times recurred');
Readln;
END.