Задача по паскалю
Друзья! Пожалуйста помогите решить задачу на паскале.
Нужно вывести из введеной строки кол-во каждой буквы. Например:
Из слова ИНФОРМАТИКА программа должна выдать такой результат:
И - 2
Н - 1
Ф - 1
О - 1
Р - 1
М - 1
А - 2
Т - 1
К - 1

Препод сказал что возможно 7 решений. Подскажите пожалуйста до каких додумаете ;)
Заранее огромное спасибо!

  • Описать массив типа array[char] of integer и тупо посчитать в нем, какая буква сколько раз встречается.

    var c:char;
    a:array[char] of integer;
    j:integer;
    s:string;
    begin
    for c:=low(char) to high(char) do a[c]:=0;
    readln(s);
    for j:=1 to length(s) do inc(a[s[j]]);
    for c:=low(char) to high(char) do if a[c]>0 then wheteln(c, a[c]);
    end.

    Решений на самом деле гораздо больше чем 7 (например, засунуть все буквы в БД и сделать запросик вида
    SELECT ACHAR, COUNT(*) FROM MYTABLE GROUP BY ACHAR), но мое выглядит мне гораздо более простым и быстрым.