Составить программу определяющую число различных символов в каждом слове письма - PascalABC.NET
Формулировка задачи:
2 Задача!!
Школьник Петров набирает электронное письмо своему другу. Слова в письме разделены пробелами, составить программу определяющую число различных символов в каждом слове письма. Заглавные и строчные буквы считать одинаково.Решение задачи: «Составить программу определяющую число различных символов в каждом слове письма»
textual
Листинг программы
begin
var s := UpperCase(ReadLnString('Введите письмо:'));
foreach var Word : String in s.ToWords(#32) do
begin
var count := 0;
var w := Word;
while w.Length > 0 do
begin
count += 1;
w := w.Replace(w[1], '');
end;
Print(count);
end;
end.
Объяснение кода листинга программы
- Вводится строка
Введите письмо:. - Строка преобразуется в верхний регистр с помощью функции UpperCase.
- Строка разбивается на слова с помощью метода ToWords и разделителя #32 (пробел).
- Для каждого слова в цикле foreach начинается следующая обработка.
- Внутри цикла объявляются следующие переменные:
- count - счетчик количества различных символов в текущем слове.
- w - текущее слово.
- Внутренний цикл while осуществляется столько раз, сколько символов в текущем слове.
- На каждой итерации внутреннего цикла происходит следующее:
- count увеличивается на 1.
- w заменяется на свою часть без первого символа с помощью метода Replace.
- После завершения внутреннего цикла while выводится значение count, т.е. количество различных символов в текущем слове.
- После завершения внешнего цикла foreach выводится символ новой строки для перехода на следующую строку вывода.