Cтрока: Вывести самое короткое (длинное) слово в предложении - C#
Формулировка задачи:
Дана строка-предложение на русском языке.
Вывести самое короткое (длинное) слово в предложении (если таких слов несколько, то вывести первое из них
Делаю через String.Builder, не знаю в чем проблема
using System; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine(@"Дана строка-предложение на русском языке. Вывести самое короткое (длинное) слово в предложении (если таких слов несколько, то вывести первое из них)."); StringBuilder str = new StringBuilder(Console.ReadLine()); StringBuilder[] mas = str.Split(' '); int min = mas[0].Length; int max = mas[0].Length; StringBuilder ms = mas[0]; StringBuilder md = mas[0]; for (int i = 0; i < mas.Length; i++) { if (mas[i].Length < min) { min = mas[i].Length; ms = mas[i]; } if (mas[i].Length > max) { max = mas[i].Length; md = mas[i]; } } Console.WriteLine("Самое короткое слово:" + ms); Console.WriteLine("Самое длинное слово:" + md); Console.ReadLine(); } } }
Решение задачи: «Cтрока: Вывести самое короткое (длинное) слово в предложении»
textual
Листинг программы
using System; using System.Linq; using System.Text.RegularExpressions; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string str= @"Дана строка-предложение на русском языке. Вывести самое короткое(длинное) слово в предложении(если таких слов несколько, то вывести первое из них"; var words = Regex.Matches(str, @"\w+-?\w*").Cast<Match>().Select(i=>new {i.Index,i.Value}).OrderBy(i=>i.Value.Length); var s = words.First(); var l = words.Last(); Console.WriteLine("Самое короткое слово '{0}', его индекс {1}:",s.Value,s.Index); Console.WriteLine("Самое длинное слово '{0}', его индекс {1}",l.Value,l.Index); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д