Работы учащихся Решение сложных задач по программированию | Page 7

© Иванов Дмитрий, МБОУ «Лицей № 2», г. Нижневартовск Задача № 6 На вход программе подается последовательность цифр, заканчивающаяся точкой (другие символы, кроме цифр и точки, отсутствуют). Требуется написать программу, которая выводит цифры, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Если какие-то цифры встречаются одинаковое число раз, они выводятся в порядке возрастания. Например, если исходная последовательность была такая: 123124456. то результат должен быть следующий: 356124 Решение: program chastota; var a:array[0..9] of integer; s:string; i,x,er:integer; begin readln(s); for i:=0 to 9 do a[i]:=0; i:=1; while s[i]<>'.' do begin Val(s[i],x,er); a[x]:=a[x]+1; i:=i+1; end; i:=0; er:=1; while i<>1 do begin i:=1; for x:=0 to 9 do if a[x]=er then begin write(x); a[x]:=a[x]-er; end; for x:=0 to 9 do if a[x]>0 then i:=i+1; er:=er+1; end; writeln(' '); end. май, 2015 г.