Исправьте задачу со строками - 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);
}
}