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

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

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

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

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

textual
Листинг программы
uses crt;
const m1=['a'..'z'];//множество строчных латинских букв
var s:string;
m2,m3:set of char;//множества символов
i:integer;
begin
clrscr;
writeln('Vvedite text:');
readln(s);
m2:=[]; //пустое множество
for i:=1 to length(s)-1 do //если написать без -1, будет тоже
include(m2,s[i]); //заносим все символы из текста во множество
m3:=m1*m2;  //перемножаем множества, результат все буквы по 1 разу
for i:=97 to 122 do //коды строчных латинских букв
if chr(i)in m3 then  //если символ (chr) с этим кодом есть во множестве
write(chr(i),' ');  //выводим его
readln
end.

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

  1. В начале кода подключается библиотека crt, которая предоставляет функции для работы с консолью.
  2. Затем определяются три переменные: m1, m2 и m3. m1 представляет собой множество строчных латинских букв, m2 - пустое множество, а m3 - произведение m1 и m2.
  3. Далее происходит очистка экрана с помощью функции clrscr.
  4. Выводится приглашение для ввода текста с помощью функции writeln.
  5. Считывается введенный текст с помощью функции readln.
  6. Создается пустое множество m2.
  7. Запускается цикл for, который проходит по каждому символу в тексте.
  8. Для каждого символа проверяется, содержится ли он в множестве m2 с помощью функции include. Если да, то символ добавляется в множество m3 с помощью оператора * (произведение).
  9. После завершения цикла for, выводится результат - все символы из текста, каждый по одному разу.
  10. Код завершается с помощью оператора end.

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


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

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

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