Професионална програма
Loading...
svetlyoek avatar svetlyoek 20 Точки

07.Max sequence of equal elements-C# tech-Arrays exercise

Здравейте.Бихте ли ми обяснили как точно работи следния код и каква е логиката(най-вече на последния цикъл за принтирането,както и целта на променливата start...)?Ето кода:

https://pastebin.com/mn9D5bSr

Мерси

Тагове:
0
Fundamentals Module
Philipopilis avatar Philipopilis 3 Точки

Здравейте, надявам се кодът, който предлагам като решение на задачата, да е по-смилаем :

            int[] numbers = Console.ReadLine()
                            .Split()
                            .Select(int.Parse)
                            .ToArray();
            int counter = 0;
            int winningCounter = 0;
            int index = 0;
            string number = string.Empty;

            for (int i = 0; i < numbers.Length - 1; i++)
            {
                if (numbers[i] == numbers[i+1])
                {
                    counter++;
                    if (counter > winningCounter)
                    {
                        winningCounter = counter;
                        index = i;
                        number = numbers[i].ToString();
                    }
                }
                else
                {
                    counter = 0;
                }
            }
            for (int i = 0; i <= winningCounter; i++)
            {
                Console.Write(number + " ");
            }
        }

1
astankin avatar astankin 3 Точки

Здравейте, ето едно решение и от мен.

int[] nums = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int counter = 1;
            int theMost = 0;
            int element = 0;
            for (int i = 0 ; i < nums.Length - 1; i++)
            {
                if (nums[i] == nums[i + 1])
                {
                    counter++;                   
                }
                else
                {                  
                    counter = 1;                   
                }
                if (counter > theMost)
                {
                    theMost = counter;
                    element = nums[i];
                }             
            }
            for (int j = 1; j <= theMost; j++)
            {
                Console.Write($"{element} ");
            }
        }
    }
}

0
krum_43 avatar krum_43 710 Точки

Това е универсалното решение на задачата.Иначе имената на променливите могат да бъдат и малко по-показателни.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.