Нахождение стержня программы Array- C

Я должен найти стержень данного массива. Пожалуйста, скажите мне, что не так с этой реализацией. Всегда возвращает -1.

int leftsum(int *nums, int index)
{
    int lsum=0;

        for(int i=0;i<index;i++)
            lsum += nums[i];
    return lsum;
}
int rightsum(int *nums, int index,int numsSize)
{
    int rsum=0;

    for(int i=index+1;i<=numsSize;i++)
        rsum += nums[i];
    return rsum;
}

int pivotIndex(int* nums, int numsSize) 
{ 
   for (int i=1;i<numsSize;i++)
   {
      if(leftsum(nums,i) == rightsum(nums,i,numsSize))  
         return i;
   }


   return -1;
}

1 ответ

Это был хороший шанс начать учиться отладке.

int rightsum(int *nums, int index,int numsSize) {
    int rsum=0;

    for(int i=index+1;i<=numsSize;i++)
        rsum += nums[i];
    return rsum; }

Здесь условие для цикла должно быть i<numsSize и не i<=numsSize

Другие вопросы по тегам