Есть названия трёх городов. Вывести самое длинное и короткое названия, количество символов в них - 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();
        }

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


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

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

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