Loading...
IvanHaribin avatar IvanHaribin 0 Точки

Задача за сравнение на 5 числа - проблем с цикъл for

Здравейте колеги, решавам една от задачите в учебника за C# след темата за Условни конструкции. Условието е да се въведат 5 числа и програмата да намери най-голямото. В упътването пише, че може да ползвам For цикъл. След малък рисърч намерих следното решение: 

 static void Main(string[] args)
        {
            Console.Write("Въведи число 1: ");
            var num1 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 2: ");
            var num2 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 3: ");
            var num3 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 4: ");
            var num4 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 5: ");
            var num5 = double.Parse(Console.ReadLine());
            var array = [num1, num2, num3,num4,num5];
            var largest = 0;
            for (int i = 0; i < array.lenght; i++)
            {
                if (array[i] > largest)
                {
                    largest = array[i];
                }
            }
            Console.WriteLine(largest);

За съжаление студиото не хареса []  скобите и ми изписва "Invalid expression term". Къде е грешката в кода?

Тагове:
0
Module: C# Advanced
Shinigami avatar Shinigami 24 Точки
Best Answer

Ако не знаеш какво е масив бих ти препоръчал или да научиш какво е и как се използва или да намериш друг начин за решаване на задачата с нещата, които си изучил до сега иначе ето ти решението 
 

Console.Write("Въведи число 1: ");
            var num1 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 2: ");
            var num2 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 3: ");
            var num3 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 4: ");
            var num4 = double.Parse(Console.ReadLine());
            Console.Write("Въведи число 5: ");
            var num5 = double.Parse(Console.ReadLine());
            var array = new[] { num1, num2, num3, num4, num5 };
            double largest = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] > largest)
                {
                    largest = array[i];
                }
            }
            Console.WriteLine(largest);

 

0
08/03/2017 15:46:12
IvanHaribin avatar IvanHaribin 0 Точки

Мерси много!

0
viktorlazarov avatar viktorlazarov 16 Точки

Колега,не трябва ли да е i < array.Lenght-1 ?

0
NikolayRogchev avatar NikolayRogchev 12 Точки

Не, знака < осигурява, че няма да достигнеш array.Length.

0
ThePSXHive avatar ThePSXHive 436 Точки

Програмата, която Рюк *ahem* Shinigami ти е представил няма да сработи, ако числата са само отрицателни , защото най-голямата стойност винаги ще бъде 0 при сравненията. Когато се сравняват числа в колекция с цел да бъде намерено най-малкото/голямото, променливата спрямо която ще се извършват сравненията се инициализира със стойността на първият елемент в колекцията. Това е традиционният подход.

double largest = 0; // погрешен резултат в случай, че стойностите са само отрицателни
double largest = array[0]; // ok

 

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