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

Вопрос школьника по предмету Информатика

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

Входные данные
На вход программы подаётся символьная строка.

Выходные данные
Программа должна вывести все символы, которые встречаются в строке только один раз, в порядке возрастания их ASCII-кодов. Если таких символов нет, нужно вывести слово ‘NO’.

Примеры
входные данные
asd12ad2
выходные данные
1s
Pascal 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей