Я совсем поверхностно знаю с++, но эту проблему мне необходимо срочно решить(нет времени на прочтение книги).
Две функции remover и found рекурсивно вызывают друг друга. Но т.к remover объявлена выше, то она не видит found. Если их поменять местами, аналогично found не будет видеть remover. Понятно, что это происходит из-за того, что одна объявлена раньше другой. Тогда как решить эту проблему?
#include <iostream>
#include <string>
using namespace std;
int remover(int *arr, int size, int a, int b) {
int secondArr[size];
for(int i = a; i < size-b; i++) {
secondArr[i] = arr[i];
}
size = size - a - b;
return found(secondArr, size, a, b);
}
int found(int *arr, int size, int a, int b) {
if ( size > (a+b) ) {
return remover(arr,size,a,b) + remover(arr,size,b,a);
} else {
return 1;
};
};
int main()
{
// Входные данные
int size = 5;
int a = 1;
int b = 2;
int arr[size];
for (int i = 0; i < size; i++) { // Заполнение массива
arr[i] = i+1;
}
found(arr,size,a,b);
}
Объявить одну из функций предварительно
int found(int *arr, int size, int a, int b);
int remover(int *arr, int size, int a, int b) {
...
return found(secondArr, size, a, b);
}
int found(int *arr, int size, int a, int b) {
...
return remover(arr,size,a,b) + remover(arr,size,b,a);
}
P.S. int arr[size];
, int secondArr[size];
для неконстантного size
- такого в С++ не разрешается.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть некие глобальные библиотеки заданные в IDEA, могу ли я их подключить в buildgradle? Если я подключаю их вручную, то они сбрасываются при первом...
Есть олимпиадная задача, ограничение по памяти 256 мебибайтНужно создать матрицу 100000 х 100000
использую ниже код для масштабирования, оно работает, но после того, как рисунок не влезает в экран, и появляются скроллбары, та часть, которая...