Нужно проверить, проходят ли все элементы массива условие cos(x[i]) > 0, при этом использовать рекурсивную функцию, каждый раз деля массив на две части - 1/3 и 2/3, проверяя сначала первую, потом, по необходимости, вторую. Прекращать рекурсию, когда осталось 1 - 2 элемента. Вот то, что я смог написать, при этом код условный, пока что функция ничего не возвращает, это всё очень примерно:
prov (double *a, int N, int border, int border2, flag, exit)
{
if (!exit)
{
if (N == border) {
if (cos(a[N]) > 0)
{
flag = true;
}
else{
exit = true;
}
}
if (!flag)
{
prov (a, (N - border)/3, border, N, flag, exit);
}
else
{
border++;
}
}
}
Ну вот дойду я до момента, когда у меня останется один элемент, его проверю, как мне остальные 2/3 проверить? Вот я надумал сдвигать левую границу, когда дохожу до этого элемента, но что делать дальше не пойму никак.