L
L
Lord Drous2017-03-18 11:59:28
C++ / C#
Lord Drous, 2017-03-18 11:59:28

Find the sum of elements located between 1 and 2 negative elements?

Hello! I solved this problem using for, but I still need to do it with while, I tried, but something doesn’t converge, I can’t understand what the error is, who can help?
1) code with for:
817097f7f4bc4ec3b97c99537eed243a.pngb8d8bd50b3fd46d7a27c16e84b14df10.png
2) code with while:
4a101ee06db34855bf3ffd17960c4227.png

Answer the question

In order to leave comments, you need to log in

1 answer(s)
T
Tom Nolane, 2017-03-18
@LorDDrouS

eyes widen and many words appear, starting with "why?" and "why is this..."
I will omit some comments and just give you a very simple way how to throughwhile

Find the sum of elements located between 1 and 2 negative elements

//допустим, в ниже переменных вы тем или иным способом уже получили какие-то данные
 double[] val1 = {-13.2, -14.8, 23, 0, -2.1, -6};
            double[] val2 = { -18.8, -11.2, 13, 0, -4.5, -2 };
            double sum = 0;
            int temp = 0;
            int temp2 = 1;

            //между массивами c одинаковым индексом
            while (sum == 0)
            {
                if (val1[temp] < 0 && val2[temp] < 0)
                {
                    sum = val1[temp] + val2[temp];
                }
                temp++;
            }
            Console.WriteLine("Сумма: " + sum);

            sum = 0; temp = 0;
            //между массивами c разным индексом
            while (sum == 0)
            {
                if (val1[temp] < 0)
                {
                    sum += val1[temp];
                    bool yeap = false;
                    while (yeap == false)
                    {
                        if (val2[temp2] < 0) { sum += val2[temp2]; break; }
                        temp2++; 
                    }
                    break;
                   
                }
                temp++;
            }
            Console.WriteLine("Сумма: " + sum);


            //1) если даны два массива с перемешанными данными и нужно найти
            //у каждого массива свои отрицательные числа и сложить (1 и 2-ой)
            sum = 0; temp = 0; temp2 = 0;
            double[] val3 = { -13.2, -14.8, -23, 0, -2.1, -6 };
            double[] val4 = { 2, -11.2, 13, 10, -4.5, 5 }; 
            
            //для 1 массива
            while (temp2 < 2)
            {
                if (val3[temp] < 0)
                {
                    sum += val3[temp];
                   temp2++;
                }
                temp++; 
            }
            Console.WriteLine("Сумма первых двух отрицательных чисел у массива val3: " + sum);

            sum = 0; temp = 0; temp2 = 0;
            //для 2 массива (аналогично)
            while (temp2 < 2)
            {
                if (val4[temp] < 0)
                {
                    sum += val4[temp];
                    temp2++;
                }
                temp++;
            }
            Console.WriteLine("Сумма первых двух отрицательных чисел у массива val4: " + sum);

            //2) если даны два массива с перемешанными данными и нужно найти
            //1 отрицательное число у первого массива со вторым отрицательным числом у второго массива
            sum = 0; temp = 0; temp2 = 0;
            int temp3 = 0;
            while (temp2 < 1 || temp3 < 2)
            {
                if (val3[temp] < 0 && temp2 == 0)
                {
                    sum += val3[temp];
                    temp2++;
                }

                if (val4[temp] < 0 && temp3 < 2)
                {
                    if(temp3 == 1) { sum += val4[temp]; }
                    temp3++;
                }

                temp++;
            }
            Console.WriteLine("Сумма первых двух отрицательных чисел у массивов val3(1 отрицательное) и у val4(2 отрицательное): " + sum);

ps I recommend encouraging people who help you (judging by your "portfolio" - you don't really use the "mark solution" and "like" buttons, and even a cat is pleased with a kind word)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question