Answer the question
In order to leave comments, you need to log in
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:
2) code with while:
Answer the question
In order to leave comments, you need to log in
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);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question