fork(1) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. #define EPSILON 0.00000001
  6.  
  7. static int compare(double num1, double num2, double error)
  8. {
  9. if((fabs(num1 - num2) < EPSILON - error) || (fabs(num1 - num2 + error) < EPSILON + error))
  10. return 1;
  11. else
  12. return 0;
  13. }
  14.  
  15. static int compare2(double num1, double num2, double error)
  16. {
  17. if(fabs(num1 - num2) <= error)
  18. return 1;
  19. else
  20. return 0;
  21. }
  22.  
  23. static int areEqual(const double *x, int size, double error)
  24. {
  25. int i;
  26. for (i = 0; i < size - 1; i++)
  27. if (!compare2(x[i], x[i + 1], error))
  28. return 0;
  29. return 1;
  30. }
  31.  
  32. int main(int argc, char **argv)
  33. {
  34.  
  35. double tab[] = {9.2, 9.7, 9.3, 9.6, 9.4, 10.0, 9.1, 9.7};
  36. double error = 0.8;
  37. const int N = 10;
  38.  
  39. printf("%d\n", areEqual(tab, N, error));
  40.  
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
0