Тази доста ме узори…. Алгоритъмът е почти същият в 4та, 5та и тази 6тата, ноо..
Мисля, че завъртането на 2та цикъла беше трудното.. и май тва мачване до къде точно да завърти всеки цикъл.
Условието:

Write a program that reads two integer numbers N and K and an array of N elements from the console.
Find in the array those K elements that have maximal sum.

using System;
 
class CheckMaxSumOfKelements
{
    static void Main()
    {
        Console.Write("Type the size \"N\" of an arrays (int): ");
        string inputSizeStr = Console.ReadLine();
        Console.Write("Type the size \"K\" lenght of the sequence: ");
        string kElementsStr = Console.ReadLine();
        int sizeArr, kElements;
        bool sizeArrCheck = int.TryParse(inputSizeStr, out sizeArr);
        bool kElementsCheck = int.TryParse(kElementsStr, out kElements);
        if (sizeArrCheck && kElementsCheck)
        {
            int[] array = new int[sizeArr];
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write("Input the eleement [{0}] of Array (int): ", i);
                array[i] = int.Parse(Console.ReadLine());
            }
 
            int tempSum = 0, maxSum = 0;
            int sequenceStart = 0;
            //End Input
 
            //Logic Start
            for (int i = 0; i < array.Length - kElements + 1; i++)
            {
                for (int j = i; j < kElements + i; j++)
                {
                    tempSum += array[j];
                }
 
                if (tempSum >= maxSum)
                {
                    maxSum = tempSum;
                    sequenceStart = i;
                    tempSum = 0;
                }
                else
                {
                    tempSum = 0;
                }
            }
 
 
            //Print Output
            for (int i = sequenceStart; i < kElements + sequenceStart; i++)
            {
                Console.WriteLine("Array[{0}] = {1}", i, array[i]);
            }
            Console.WriteLine("Equal to: {0}", maxSum);
        }
        else
        {
            Console.WriteLine("Wrong Input");
        }
    }
}

No Comment

Comments are closed.