Предмет: Информатика, автор: vladimirRM7

Дан текст. Вывести в алфавитном порядке все буквы текста, входящие в него не менее двух раз. (Pascal)

Ответы

Автор ответа: BobbyFresnel
0

===== PascalABC.NET =====

begin

 var D := new Dictionary<char, integer>; // словарь

 var s := ReadlnString('Введите текст:')  // ввести строку текста

     .ToLower    // перекодировать буквы к нижнему регистру

     .Where(c -> c.IsLetter);   // отобрать только буквы

 foreach var c in s do   // повторить для каждого символа в строке

   if D.ContainsKey(c) then    // если символ уже встречался

     D[c] += 1        // увеличить его счетчик на 1

   else                                    // в противном случае

     D.Add(c, 1);   // добавить символ в словарь со счетчиком 1

 D.Where(p -> p.Value > 1) // отобрать элементы словаря со счетчиком > 1

     .Select(p -> p.Key)   // выбрать сами символы

     .OrderBy(p -> p)      // отсортировать по алфавиту

     .Println(' ')         // вывести через пробел в строку

end.

Приложения:

vladimirRM7: Большое спасибо )))
Похожие вопросы
Предмет: Другие предметы, автор: tdasa1707
Предмет: Математика, автор: margaritababenko821