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

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

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

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

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

textual
Листинг программы
  1. var c:char;
  2.      s,sd:set of char;
  3. begin
  4. s:=[ ];        {инициализация множества входных символов}
  5. sd:=[ ];      {инициализация множества повторяющихся символов}
  6. repeat
  7.   read(c);
  8.   if c in s then
  9.     sd:=sd+[c] {накопление множества повторяющихся символов}
  10.   else s:=s+[c];      {накопление множества всех символов}
  11. until c='.';
  12. s:=s-sd-['.']; {получение множества неповторяющихся символов}
  13. for c:=#33  to #255 do
  14.   if (c in s)  then  
  15.     write(c:3);
  16. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы