Есть названия трёх городов. Вывести самое длинное и короткое названия, количество символов в них - C#

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

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

Обязательный старт - запись названий в строку, или в отдельные строки. При таком выполнении появляется ошибка: "ссылка на объект не указывает на экземпляр объекта, строка 39". Вопрос, как лучше исправить программу? Если нет, может кто подскажет другой алгоритм. Что делать, если названия одинаковые по длине?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Cons
{
    class Program
    {
        static void Main(string[] args)
        {
            string str;     
            string[] arrStr = new string[50];
            
            Console.WriteLine("Введите через запятую названия трёх городов без побелов");
            str = Console.ReadLine();
            
            string[] split = str.Split(new Char[] { ','});

            int i = 0;
            string name1 = arrStr[0];
            string name2 = arrStr[0];
            foreach (string s in split)
            {
                if (s.Trim() != "")
                {
                    Console.WriteLine(s);
                    arrStr[i] = s;
                    i++;
                }
            }
 
            int max = arrStr[0].Length;
            int min = arrStr[0].Length;
 
            for (int j = 0; i < arrStr.Length; j++) {
                if (max < arrStr[j].Length)
                {
                    max = arrStr[j].Length;
                    name1 = arrStr[j];
                }
 
                if (min > arrStr[j].Length)
                {
                    min = arrStr[j].Length;
                    name2 = arrStr[j];
                }
 
            }
            Console.WriteLine("Самое длинное название: {0}, Количество символов: {1}", name1, max);
            Console.WriteLine("Самое короткое название: {0}, Количество символов: {1}", name2, min);
            Console.ReadKey();
        }
    }
}

Решение задачи: «Есть названия трёх городов. Вывести самое длинное и короткое названия, количество символов в них»

textual
Листинг программы
        static void Main(string[] args)
        {
            GetGorodaLambda();
            Console.ReadLine();
        }
 
        
 
        static void GetGorodaLambda()
        {
            String[] Goroda = new String[3] { "Город11", "Город22", "Город3" };
            int iMax = Goroda.Select((Gor) => Gor.Length).Max();
            int iMin = Goroda.Select((Gor) => Gor.Length).Min();
            String[] Temp = Goroda.Where((Gor, ind) => 
            {
                if (Gor.Length == iMax)
                    Console.WriteLine("Max =" + Gor + " " + Gor.Length);
                if (Gor.Length == iMin)
                    Console.WriteLine("Min =" + Gor + " " + Gor.Length);
                return true;
            }).ToArray();
        }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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