Составить программу, которая выделяет отдельные слова и числа из введенной пользователем строки. Словом считается последовательность букв, разделяемых одним или несколькими пробелами или знаками препинания. Числом считается пос...

Составить программу, которая выделяет отдельные слова и числа из введенной пользователем строки. Словом считается последовательность букв, разделяемых одним или несколькими пробелами или знаками препинания. Числом считается последовательность цифр, разделяемых одним или несколькими пробелами, которая может включать точку в качестве разделителя целой и дробной части и знак минус, стоящий в начале. Слова поместить в массив слов, числа поместить массив чисел. Найти в массивах самое длинное слово и максимальное число. Вывести на экран слова в столбик. Например, если исходная строка ’Длина пути равна 1 метр.’, то на экран будет выведено: Д п р м л у а е и т в т н и н p
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 begin   var s:=ReadlnString('>');   var delims:=' ,:;!?'.ToCharArray; // разделители   var a:=s.ToWords(delims).JoinIntoString; // очистка от мусора   var aw:=a.MatchValues('([A-Za-zА-Яа-яЁё])+').ToArray;   var ad:=a.MatchValues('([-\d.])+').ToArray;   Print('Слова:'); aw.Println;   Print('Самое длинное слово:');   var ind:=aw.Select(x->x.Length).ToArray.IndexMax;   Println(aw[ind]);   var m:=aw[ind].Length; // самая большая длина слова   aw:=aw.Select(x->x.PadRight(m)).ToArray;   Print('Числа:'); ad.Println;   Print('Самое длинное число:');   Println(ad[ad.Select(x->x.Length).ToArray.IndexMax]);   for var j:=1 to m do begin     for var i:=0 to aw.Length-1 do Print(aw[i][j]);     Writeln     end; end. Тестовое решение: >  Длина   составляет 1.2 метра;   ширина 0.93 метра! Слова: Длина составляет метра ширина метра Самое длинное слово: составляет Числа: 1.2 0.93 Самое длинное число: 0.93 Д с м ш м л о е и е и с т р т н т р и р а а а н а   в   а     л         я         е         т  Из-за того, что тут используется пропорциональный шрифт, нарушено взаимное расположение символов на выводе. Истинная картина дана во вложении.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы