program word; const MAX_KEY = 50; MAX_KEY_LEN = 10; type Line = string[128]; KeyStr = string[MAX_KEY_LEN]; var Keys : array [1..MAX_KEY] of KeyStr; Count : array [1..MAX_KEY] of integer; Filename : string[14]; Line1 : Line; Num_Keys : integer; I : integer; Text_File : text; procedure ScanLine; var I, Ptr : integer; L : Line; begin for I := 1 to Num_Keys do begin L:= Line1; (* Make working copy *) Ptr := Pos(Keys[I],L); while Ptr > 0 do begin Count[I] := Count[I] + 1; Delete(L,Ptr,1); Ptr := Pos(Keys[I],L); end; end; end; begin write('Enter filename '); readln(Filename); writeln; write('Enter number of keywords '); readln(Num_Keys); writeln; for I := 1 to Num_Keys do begin Count[I] := 0; (* Zero counters *) write('Enter key # ',I,' '); readln(Keys[I]); writeln; end; writeln; writeln; writeln; Assign(Text_File,Filename); {$I-} Reset(Text_File); {$I+} while NOT Eof(Text_File) do begin readln(Text_File, Line1); writeln(Line1); ScanLine end; Close(Text_File); writeln; for I := 1 to Num_Keys do writeln(Keys[I],' counts ',Count[I],' times'); end.