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

marius95 marius95    3   04.12.2019 12:36    1

Ответы
ImHappy102 ImHappy102  10.10.2020 18:22

===== 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.


Дан текст. вывести в алфавитном порядке все буквы текста, входящие в него не менее двух раз. (pascal
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика