fork(1) download
  1. #include <iostream> // même comportement avec printf
  2. #include <cmath> // même comportement avec les fonctions C (sqrt et pow)
  3.  
  4. struct Elem
  5. {
  6. double x;
  7. double y;
  8. };
  9.  
  10. double distance(Elem e1, Elem e2)
  11. {
  12. return std::sqrt(std::pow(e1.x+0.0-e2.x,2)+std::pow(e1.y+0.0-e2.y,2));
  13. }
  14.  
  15. double distance_ptr(Elem* e1, Elem* e2)
  16. {
  17. return std::sqrt(std::pow(e1->x+0.0-e2->x,2)+std::pow(e1->y+0.0-e2->y,2));
  18. }
  19.  
  20. int main()
  21. {
  22. Elem e1={0,0};
  23. Elem e2={std::cos(2.0),std::sin(2.0)};
  24. {// "OK" est printé
  25. double d=distance(e1,e2);
  26. if(d==1.0)
  27. std::cout<<"1. OK"<<std::endl;
  28. else
  29. std::cout<<"1. KO"<<std::endl;
  30. }
  31. {
  32. double d=distance_ptr(&e1,&e2);
  33. if(d==1.0)
  34. std::cout<<"2. OK"<<std::endl;
  35. else
  36. std::cout<<"2. KO"<<std::endl;
  37. }
  38. {
  39. double d=distance_ptr(&e1,&e2);
  40. std::cout<<"result: "<< d <<std::endl;
  41. if(d==1.0)
  42. std::cout<<"3. OK"<<std::endl;
  43. else
  44. std::cout<<"3. KO"<<std::endl;
  45. }
  46. return 0;
  47. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
1. OK
2. KO
result: 1
3. OK