Исправьте задачу со строками - C#
Формулировка задачи:
нужно что бы выводил его два минимальных то сначала первое а потом последнее , и если два максимальных одинаковой длинны сначала первое длинное и последнее, а сейчас выводит просто минимальное и максимальное
Console.Write("Введите строку: "); string input = Console.ReadLine(); string[] str = input.Split(new Char[] { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries); int maxlen = 0, index = 0, minlen = 0, index2 = 0; ; for (int i = 0; i < str.Length; i++) { if (str[i].Length > maxlen) { maxlen = str[i].Length; index = i; } if (str.Length < minlen) { minlen = str[i].Length; index2 = i; } } Console.Write("Самое длинное слово: {0}", str[index]); Console.WriteLine(); Console.Write("Самое короткое слово:{0}", str[index2]); Console.ReadLine();
Решение задачи: «Исправьте задачу со строками»
textual
Листинг программы
using System; class Program { static void Main() { int min = int.MaxValue, max = 0; Console.Write("Введите строку: "); string input = Console.ReadLine(), prev = ""; string[] str = input.Split(new Char[] { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in str) { if (min > s.Length) min = s.Length; if (max < s.Length) max = s.Length; }; Console.WriteLine("Самые длинные слова : "); foreach (string big in str) if (big.Length == max && big != prev) { prev = big; Console.WriteLine(big); } Console.WriteLine(); Console.WriteLine("Самые короткие слова : "); foreach (string small in str) if (small.Length == min) { prev = small; Console.WriteLine(small); } Console.ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д