Напечатать все буквы входящие в текст по одному разу - Pascal

Узнай цену своей работы

Формулировка задачи:

Прошу помоч. Очень надо. Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы входящие в текст по одному разу.

Решение задачи: «Напечатать все буквы входящие в текст по одному разу»

textual
Листинг программы
var c:char;
     s,sd:set of char;
begin
s:=[ ];        {инициализация множества входных символов}
sd:=[ ];      {инициализация множества повторяющихся символов}
repeat
  read(c);
  if c in s then 
    sd:=sd+[c] {накопление множества повторяющихся символов}
  else s:=s+[c];      {накопление множества всех символов}
until c='.';
s:=s-sd-['.']; {получение множества неповторяющихся символов}
for c:=#33  to #255 do
  if (c in s)  then  
    write(c:3);
end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • c - символьная переменная для считывания символов.
    • s - множество всех уникальных символов.
    • sd - множество повторяющихся символов.
  2. Инициализация множеств:
    • s и sd инициализируются пустыми множествами.
  3. Цикл считывания символов:
    • В цикле считываются символы из входного потока и проверяется, содержится ли символ c в множестве s (всех уникальных символов).
  4. Обновление множеств:
    • Если символ c уже есть в множестве s, он добавляется в множество sd (повторяющиеся символы).
    • Иначе, символ c добавляется в множество s.
  5. Завершение цикла:
    • Цикл прерывается, когда считывается символ ..
  6. Фильтрация неповторяющихся символов:
    • Из множества s удаляются символы, содержащиеся и в множестве sd и символ ..
  7. Цикл для печати уникальных символов:
    • Происходит перебор символов от #33 до #255.
    • Если символ содержится в множестве s, то он выводится на печать, выравниваясь по ширине 3 символа.
  8. Конец программы:
    • Завершение выполнения программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы