Дан файл, содержащий текст на русском языке. Опредилить:
1. Цифры, которые входят в текст; 2.Определить сколько раз встречается в нем самое короткое слово; 3. Выбрать буквы, которые встречаются только 1 раз в порядке их расположения. С обьясннием пж
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ReadAllText('input.txt'); s.Println; // из файла var Delimeters:=Arr(' ','-',',','.',')','(',':',Chr(13),Chr(10)); s:=LowerCase(s); var a:=s.ToWords(Delimeters); // массив слов Write(Newline,'Цифры, входящие в текст: '); s.MatchValues('\d').Distinct.OrderBy(x->x).Println; var k:=a.MinBy(x->x.Length).Length; Write('Самые короткие слова: '); a.Where(x->(x.Length=k)) .GroupBy(x->x).Select(x->x.Key) .Where(x->Pos(x,'0123456789')=0).Println(','); Write('Буквы, встречающиеся ровно один раз: '); s.ToCharArray.Where(x->not (x in Delimeters)) .Where(x->not (x in ['0'..'9'])) .GroupBy(x->x).Select(x->(x.Key,x.Count)) .OrderBy(x->x[1]).ThenBy(x->x[0]) .Where(x->x[1]=1).Select(x->x[0]).Println; end.
Пример Большой Кавказ простирается более чем на 1100 км с северо-запада на юго-восток, от района Анапы и Таманского полуострова Чёрного моря до Апшеронского полуострова на побережье Каспия, рядом с Баку. Максимальной ширины Большой Кавказ достигает в районе меридиана Эльбруса (почти 180 км). В осевой части расположен Главный Кавказский (или Водораздельный) хребет, к северу от которого простирается ряд параллельных хребтов (горных цепей), в том числе моноклинального (куэстового) характера). Южный склон Большого Кавказа большей частью состоит из кулисообразных хребтов, примыкающих к Главному Кавказскому хребту. Традиционно Большой Кавказ делится на 3 части: Западный Кавказ (от Чёрного моря до Эльбруса), Центральный Кавказ (от Эльбруса до Казбека) и Восточный Кавказ (от Казбека до Каспийского моря).
Цифры, входящие в текст: 0 1 3 8 Самые короткие слова: с,и,в,к Буквы, встречающиеся ровно один раз: щ