vendredi 4 août 2017

for loop in Return

I'm a beginner in C++ and i have a problem that i dont know how to solve it,

I have an int function that few parameters should be return on it:

int sphere(const float & X,const float & Y,const float & Z, const int & Px, const int & Py, const int & Pz, const int & diameterOfSphere, const int & number) {

return pow(Px-X,2)+pow(Py+(diameterOfSphere * (number - 1))-Y,2)+pow(Pz-Z,2) <= pow(diameterOfSphere/2,2); }

in this function, the integer "number" may should be start from 2 to for example 100. I need to do something that if i choose 100 for "number", the return statement should be repeated 99 times and separated by a plus ( + ).

for example i can do it manually but it is needed to write a lot of codes which is not logical

for example, i did it manually for just three times

 return (pow(Px-X,2)+pow((Py+(diameterOfSphere * 2))-Y,2)+pow(Pz-Z,2) <= pow(diameterOfSphere/2,2)) + (pow(Px-X,2)+pow((Py+(diameterOfSphere * 3))-Y,2)+pow(Pz-Z,2) <= pow(diameterOfSphere/2,2)) + (pow(Px-X,2)+pow((Py+(diameterOfSphere * 4))-Y,2)+pow(Pz-Z,2) <= pow(diameterOfSphere/2,2)) + (pow(Px-X,2)+pow((Py+(diameterOfSphere * 5))-Y,2)+pow(Pz-Z,2) <= pow(diameterOfSphere/2,2)) ;

Is there any easier way? I know i have to use a loop but i dont know how to do it in this case

Thanks a lot

Aucun commentaire:

Enregistrer un commentaire