Дан текст из слов, разделенных пробелами. Определить, где расположено самое длинное слово фразы - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Дан текст из слов, разделенных пробелами. Определить, где расположено самое длинное слово фразы: в первой половине, во второй или посередине.
У меня программа некорректно работает. Нужно, чтобы программа определяла количество символов самого длинного слова фразы.

Решение задачи: «Дан текст из слов, разделенных пробелами. Определить, где расположено самое длинное слово фразы»

textual
Листинг программы
begin
var stringEntered := ReadLnString('Введите строку:');
  var wordsArray := stringEntered.ToWords(' ,.;?!'.toArray);
  var longestWord := wordsArray.OrderBy(word->word.Length).Last;
  WriteLn('Самое длинное слово: ' + longestWord + ' (' + longestWord.Length + ')');  
 
  WriteLn('Находится ' + arr('в начале','в середине','в конце')[wordsArray.IndexOf(longestWord)div 3] + ' строки');
end.

Объяснение кода листинга программы

  1. Вводится строка с помощью функции ReadLnString.
  2. Введенная строка преобразуется в массив слов с помощью метода ToWords и передается в качестве аргумента в функцию, которая разделяет строку на слова, используя пробел в качестве разделителя.
  3. Создается переменная longestWord, которая будет хранить самое длинное слово.
  4. Метод OrderBy используется для сортировки массива слов по длине в порядке убывания, а затем используется метод Last, чтобы получить самое длинное слово.
  5. Самое длинное слово выводится на экран с помощью функции WriteLn, а также выводится его длина.
  6. Используется функция arr для создания массива с тремя элементами: в начале, в середине, в конце.
  7. Используется метод IndexOf для определения позиции самого длинного слова в массиве слов, а затем используется оператор div для получения целой части результата деления этой позиции на 3.
  8. Результат операции записывается в переменную, а затем выводится на экран с помощью функции WriteLn.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы