Это похоже на опечатку?
reX=((valueOfZ[i+1]-valueOfZ[i])/valueOfZ[i+1])*100;
Разве это не должно быть:
reZ=((valueOfZ[i+1]-valueOfZ[i])/valueOfZ[i+1])*100;
То же самое здесь:
cout<<"reY = "<<reX<<endl;
Но чтобы ответить на ваш вопросэто должно использовать i для индексации результатов, а не итерации.Переменная итерации всегда будет постоянной, поэтому она всегда будет давать этот результат независимо от ошибки.
Как:
cout<<"x = "<<valueOfX[i-1]<<endl;
cout<<"y = "<<valueOfY[i-1]<<endl;
cout<<"z = "<<valueOfZ[i-1]<<endl;