Регистрация
Войти
Стать экспертом Правила
Информатика

Напишите программу, которая находит все символы в символьной строке, которые встречаются только один раз.Входные данныеНа вход программы подаётся символьная строка.Выходные данныеПрограмма должна вывести все символы, которые встречаются в строке только один раз, в порядке возрастания их ASCII-кодов. Если таких символов нет, нужно вывести слово 'NO'.Примерывходные данныеasd12ad2выходные данные1sPascal ABC 1.8 с использованием множеств

ОТВЕТЫ
var uniq: Set of Char;
    used: Set of Char;
    s: string;
    i: integer;
    done: boolean;
    c: char;
begin
uniq := [];
used := [];
readln(s);

for i := 1 to length(s) do
  if not (s[i] in used) then
  begin
    include(uniq, s[i]);
    include(used, s[i]);
  end
  else
  begin
    exclude(uniq, s[i]);
  end;

done := False;
for c := #0 to #255 do
  if (c in uniq) then
  begin
    done := True;
    write(c);
  end;

if not done then
  write('NO');

writeln;
end.
285
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам