СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости


Задания
Версия для печати и копирования в MS Word
Задания Д19 C4 № 3120

На вход программы подаются строчные английские буквы. Ввод этих букв заканчивается точкой (другие символы, отличные от «.» и букв «a».. «z» во входных данных отсутствуют. Требуется написать программу на одном из языков программирования, которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается. Если какие-то буквы встречаются одинаковое число раз, то они выдаются в алфавитном порядке. Например, пусть на вход подаются следующие символы:

colaclc

 

В данном случае программа должна вывести:

аolc

Решение.

program C4;

uses crt;

var

a:array[0..25] of integer;

m:array[0..25] of 'a'..'z';

ch:char;

i,j,k:integer;

 

Begin

for i:=0 to 25 do

begin

a[i]:=0;

m[i]:=chr(ord('a')+i);

end;

 

read(ch);

while ch<>'.' do

begin

a[ord(ch)-ord('a')]:=a[ord(ch)-ord('a')]+1;

read(ch);

end;

 

for i:=1 to 25 do

    for j:=0 to 24 do

        if a[j]>a[j+1] then

           begin

                k:=a[j];

                ch:=m[j];

 

                a[j]:=a[j+1];

                m[j]:=m[j+1];

 

                a[j+1]:=k;

                m[j+1]:=ch;

           end;

i:=0;

 

while a[i]=0 do inc(i);

for j:=i to 25 do write(m[j]);

 

End.