(*$L+*)
PROGRAM FCOUNT(INPUT,OUTPUT) ;

(*  FREQUENCY COUNT OF LETTERS IN INPUT FILE
    FROM PASCAL USERS MANUAL AND REPORT  *)

VAR CH : CHAR; J : INTEGER ;
(*$L+*)
PROGRAM FCOUNT(INPUT,OUTPUT) ;

(*  FREQUENCY COUNT OF LETTERS IN INPUT FILE
    FROM PASCAL USERS MANUAL AND REPORT  *)

VAR CH : CHAR; J : INTEGER ;
    COUNT : ARRAY[' '..'@'] OF INTEGER;
    LETTER : SET OF ' '..'@';

BEGIN LETTER := [' '..'@'];
   FOR CH := ' ' TO '@' DO COUNT[CH] := 0;
   WHILE NOT EOF(INPUT) DO
   BEGIN
      WHILE NOT EOLN(INPUT) DO
      BEGIN  READ(CH);
         IF CH IN LETTER THEN COUNT[CH] := COUNT[CH] + 1
      END;
      READLN(INPUT)
   END;

J := 0 ;
FOR CH := ' ' TO '@' DO
    BEGIN   IF COUNT[CH] > 0 THEN J := J+COUNT[CH];
       WRITELN(CH,COUNT[CH]:10)
    END;
WRITELN( ' TOTAL CHARS IN THE TEXT :' ,J) ;
END.


