Софтуерно Инженерство
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
C# Fundamentals
ThePSXHive avatar ThePSXHive 436 Точки

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

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

 

1