samedi 5 novembre 2016

Negative value not being added to Array

Problem

I have 2 arrays, one for positive numbers, one for negative numbers. For some reason, if the first number to be added is a negative number, it creates the array space to add the number yet the number inserted will always be 0.

Code for adding

Here is my add method, it determines if the value is negative or positive and adds the value to the appropriate array:

bool MyClass::addInt(int valueToBeInserted){

 if (valueToBeInserted >= 0){
    if (posArrayIterator >= sizeOfMyArray){
      return false;
    } else {
      cout << "added " <<  valueToBeInserted << "\n" << endl;
      myPArray[posArrayIterator] = valueToBeInserted;
      posArrayIterator ++;
      return true;
    } 
  } else {
    if (negArrayIterator >= sizeOfMyArray){
      return false;
    } else {
      cout << "added " <<  valueToBeInserted << "\n" << endl;
      myNarray[negArrayIterator] = valueToBeInserted;
      negArrayIterator ++;
      return true;
    }
  }

}

Output

With the following test:

b.addInt(-1);
b.addInt(-3);
b.addInt(-9);

The expected output would be

[-1, -3, -9] 

but output is

[-3, -9, 0].

Any help is much appreciated.

Aucun commentaire:

Enregistrer un commentaire