Отбор одиночных символов из строки

В этот раз мы снова с вами поработаем над обработкой строкового типа данных на Паскале. Задача достаточно интересная, и она может послужить основным блоком в какой-нибудь другой вашей программы.


Задача на Паскаль. Отбор одиночных символов из строки

Условие задачи


Выбрать из заданной строки все одиночные символы и вывести их на экран.


Пояснение к задаче


Одиночным символом считается символ в строке, который встречается в ней только один раз. Таких символов может быть несколько и нам нужно вывести их все на экран.


Решение задачи на Паскале


У нас будет два цикла. Первый цикл будет проходить все символы в строке. Второй будет искать похожий символ среди других символов. Переменная с нужна для того, чтобы выводить на экран по условию одиночные символы.


Program catch_single_char;

Var
stroka:string;
c:byte;
Begin
stroka:=sdfkjsjfjfmvlkflerklgkermsdcvmsfgnrgmfvjxfbnL 88l bncvmnbxvkldbfj xmvmvb/dLOFlf f;
c:=0;
for var i:=1 to length(stroka) do
begin
c:=0;
for var j:=1 to length(stroka) do
if (stroka[i]=stroka[j]) and (i<>j) then inc(c);
if (c=0) then write(stroka[i]);
end;
readln
End.


Данный алгоритм является неоптимальным, так как не отсекает уже проверенные одиночные символы. Доработка программы заключается в том, чтобы уменьшать при дальнейшей проверке саму строку.


Задача на проверку символьных цепочек, с использованием букв А и Б. Перевод числа из десятичной системы в двоичную