Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. zad 7.36.c
  2.  
  3. #include <stdio.h>
  4. #include <math.h>
  5. #include <time.h>
  6. #include <stdlib.h>
  7.  
  8. float average(int tab[], int size)
  9. {
  10. float aver = 0;
  11. int i;
  12.  
  13. for (i = 0; i<size; i++)
  14. {
  15. aver += tab[i];
  16. }
  17. aver /= size;
  18. return(aver);
  19. }
  20.  
  21. float stdDev(int tab[], int size)
  22. {
  23. int i;
  24. float dev = 0;
  25. float suma = 0;
  26. float aver = average(tab, size);
  27.  
  28. for (i = 0; i<size; i++)
  29. {
  30. suma = suma + pow((tab[i] - aver), 2);
  31. dev = sqrt(suma / size);
  32. }
  33. return(dev);
  34. }
  35. float fclamp(float v, float lo, float hi)
  36. {
  37. float res;
  38.  
  39. if (v<lo)
  40. res = lo;
  41. else if (v>hi)
  42. res = hi;
  43. else
  44. res = v;
  45.  
  46. return(res);
  47. }
  48. int main()
  49. {
  50. int numbers[1000] = { 0 };
  51. int count = 0;
  52. int num, i;
  53. float srednia, odch;
  54. float temp;
  55.  
  56. printf("Podaj liczby: ");
  57.  
  58. do {
  59.  
  60. scanf("%d", &num);
  61. numbers[count] = num;
  62. count++;
  63.  
  64. } while (num != 0);
  65. count -= 1;
  66.  
  67. srednia = average(numbers, count);
  68. //printf("%.2f", srednia);
  69.  
  70. odch = stdDev(numbers, count);
  71. //printf("\n%.2f", odch);
  72.  
  73. for (i = 0; i<count; i++)
  74. {
  75. temp = fclamp(numbers[i], srednia - odch, srednia + odch);
  76. printf("%.2f ", temp);
  77. }
  78.  
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement