Cтрока: Вывести самое короткое (длинное) слово в предложении - C#

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

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

Дана строка-предложение на русском языке. Вывести самое короткое (длинное) слово в предложении (если таких слов несколько, то вывести первое из них Делаю через String.Builder, не знаю в чем проблема
Листинг программы
  1. using System;
  2. using System.Text;
  3. namespace ConsoleApplication1
  4. {
  5. class Program
  6. { static void Main(string[] args)
  7. {
  8. Console.WriteLine(@"Дана строка-предложение на русском языке.
  9. Вывести самое короткое (длинное) слово в предложении (если таких слов несколько, то вывести первое из них).");
  10. StringBuilder str = new StringBuilder(Console.ReadLine());
  11. StringBuilder[] mas = str.Split(' ');
  12. int min = mas[0].Length;
  13. int max = mas[0].Length;
  14. StringBuilder ms = mas[0];
  15. StringBuilder md = mas[0];
  16. for (int i = 0; i < mas.Length; i++)
  17. {
  18. if (mas[i].Length < min)
  19. {
  20. min = mas[i].Length;
  21. ms = mas[i];
  22. }
  23.  
  24. if (mas[i].Length > max)
  25. {
  26. max = mas[i].Length;
  27. md = mas[i];
  28. }
  29.  
  30. }
  31. Console.WriteLine("Самое короткое слово:" + ms);
  32. Console.WriteLine("Самое длинное слово:" + md);
  33. Console.ReadLine();
  34. }
  35. }
  36. }

Решение задачи: «Cтрока: Вывести самое короткое (длинное) слово в предложении»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Text.RegularExpressions;
  4. namespace ConsoleApplication1
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.            string str= @"Дана строка-предложение на русском языке.
  11.                        Вывести самое короткое(длинное) слово в предложении(если таких слов несколько, то вывести первое из них";
  12.  
  13.             var words = Regex.Matches(str, @"\w+-?\w*").Cast<Match>().Select(i=>new {i.Index,i.Value}).OrderBy(i=>i.Value.Length);
  14.  
  15.             var s = words.First();
  16.             var l = words.Last();
  17.  
  18.  
  19.             Console.WriteLine("Самое короткое слово '{0}', его индекс {1}:",s.Value,s.Index);
  20.             Console.WriteLine("Самое длинное слово '{0}', его индекс {1}",l.Value,l.Index);
  21.  
  22.         }
  23.  
  24.        
  25.     }
  26. }

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы