Другие языки программирования и технологии

Помогите решить задачу в Pascal!

Надо написать программу, в которой в ряду символов определить, которая из всех введенных букв встречается реже всего. Никак не получается составить программу, помогите пожалуйста!...
Если ввести строку:
Мама мыла раму.
То результатом будет:
Из введённых символов реже всего встречается: . М л р у ы
Собственно программа:
var S : String; C : array [0..255] of Byte; N, Min : Byte;
begin
for N := 0 to 255 do C[N] := 0;
Write('Введите строку: '); ReadLn(S);
for N := 1 to Length(S) do Inc(C[Ord(S[N])]);
Min := 255; for N := 0 to 255 do if C[N] > 0 then if C[N] < Min then Min := C[N];
Write('Из введённых символов реже всего встречается: ');
for N := 0 to 255 do if C[N] = Min then Write(Chr(N), #32); WriteLn;
end.
Рустам Джураев
Рустам Джураев
77 578
Лучший ответ
kols : array[0..255] of integer;
...
for i := 1 to length(s) do
inc( kols[ord(s[ i ])] );
min := 0;
for i := 0 to 255 do
if (kols[ i ] > 0) and (kols[ i ] < kols[min] ) then min := i;

writeln( 'Символ: ', chr(min) );
Илья Минин
Илья Минин
13 113
я c++ ,но вот алгоритм:

т. к. символов у нас не сильно много (ANSI, всего 255 вариантов и то на символы как таковые приходится не все 255 значений... )
то создаём массив из 256 элементов. (инициализируем нулями)

далее смотрим каждый символ в последовательности, и в элемент нашего массива под номером <код символа> прибавляем 1..

потом пробегаемся по массиву и находим элемент с наименьшим значением. (все кроме 0, ибо эти символы вообще не встречались в последовательности) . выводим id элемента в массиве в качестве символа на экран. всё.
ВА
Вася Апшану
1 538
Если долго мучаться, то что-нибудь получится.
Покажите код, где у вас не получается, тогда уж можно будет и помочь.