Ввести текст и подсчитать количество различных букв в каждом слове - Turbo Pascal
Формулировка задачи:
Доброго времени суток. Прошу помощи:
Ввести текст и подсчитать количество различных букв в каждом слове. К словам, где буквы не повторяются, добавить в начало слова последнюю букву этого слова.
даже и не знаю с чего начать отталкиваться, был бы признателен за хороший, годный пример одного из вариантов решения данной задачи
Решение задачи: «Ввести текст и подсчитать количество различных букв в каждом слове»
textual
Листинг программы
uses crt; const rz=[' ','.',',','-','?','!'];{симdолы, разделители слов, можно добавить} var s,s1:string; m:set of char;{множество для определения числа различных букв} n,i,j,k:byte; begin clrscr; writeln('Введите текст:'); readln(s); i:=1; while i<=length(s) do if not(s[i] in rz)and ((s[i-1] in rz)or(i=1)) then{если не разделитель и первый или перед ним разделитель, то начало слова*} begin k:=i; s1:=''; while not(s[k] in rz)and(k<=length(s))do {пока не разделитель и не конец строки} begin s1:=s1+s[k];{составляем слово} k:=k+1; end; m:=[]; k:=0; for j:=1 to length(s1) do if not(s1[j] in m) then begin k:=k+1; m:=m+[s1[j]]; end; writeln(s1,' ',k,' различных букв'); if k=length(s1) then begin insert(s1[length(s1)],s,i); i:=i+length(s1)+1 end else i:=i+length(s1);{перешагиваем через слово} end else i:=i+1;{пропускаем разделители} write(s); readln end.
Объяснение кода листинга программы
- Ввод текста: программа запрашивает у пользователя ввод текста.
- Разбиение строки на слова: программа разбивает введенную строку на слова, используя пробелы как разделители.
- Создание пустой строки и множества: программа создает пустую строку
s1
и множествоm
. - Перебор символов в слове: программа перебирает каждый символ в текущем слове.
- Добавление символа в строку и множество: если текущий символ не является разделителем и не был добавлен ранее, то он добавляется в строку
s1
и множествоm
. - Подсчет количества различных букв: программа подсчитывает количество уникальных символов в множестве
m
. - Вывод результата: программа выводит количество различных букв в слове, разделенных пробелами и сопровождаемых строкой, введенной пользователем.
- Дополнительные действия: программа может пропускать слова или символы, которые являются разделителями.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д