| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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.
|