Split Array с использованием BackTracking - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу проверить, смогу ли я разделить свой array [] на 2 массива с таким же средним значением с помощью обратного отслеживания.

Я написал на бумаге что-то вроде tihs, но, похоже, это не работает

Скажите мне BadAcces в функции countSum

#define  N 8
float countSum (int arr[],int n){

    float sum = 0;
    for (int i=0;i<n;i++){
            sum+=arr[i];
    }

    return sum;
}


int sameAvgGroups(int arr[], int n1, int res[],int n2){

    if ( (countSum(arr,n1)/n1) == (countSum(res,n2)/n2) || (n1<0) || (n2>=N) )
            return n2;


    for (int i=0;i<N;i++){
        res[i] = arr[i];
        sameAvgGroups(arr+i,N-i,res,i);
        res[i] = 0;
    }

    return -1;

}


int main (){

    int arr [N] = {5, 3, 12, 4, 12, 6, 1, -3};

    int res[N] =  {0};

    printf("%d",(sameAvgGroups(arr,N,res,0)));


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...