jeudi 25 décembre 2014

String of zeros vs correct output



int characterSum = 0;
string numberString = to_string(number);
int size = numberString.size();

double *decimalDigit = new double[size];
while (0 <= size - 1){ //acquire digits of number
decimalDigit[size - 1] = (number - fmod(number, pow(10, size - 1))) / pow(10, size - 1);
cout << "Value of digit place " << size - 1 << " is " << decimalDigit[size - 1] << endl;
number = fmod(number, pow(10, size - 1));
size--;
}

if (number <= 20)
characterSum = sizeArray[number];

else if (number < 100){
characterSum = sizeArray[int(decimalDigit[1]) * 10] + sizeArray[int(decimalDigit[0])];
}


The above code produces an incorrect output (sum of the letters of the words of the digits). However, I think it would look cleaner and produce less lines of code if I typed in the above code.


The below code, however, produces a correct output.


Any reason?





Aucun commentaire:

Enregistrer un commentaire