Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. float findMedian(int findLen, float findArray[]){
  2.   for (int i = 0; i <= (int) ((findLen/2)+1); i++){ // пузырьковая сортировка массива (можно использовать любую)
  3.       for (int m = 0; m < findLen - i; m++){
  4.         if (findArray[m] > findArray[m+1]){
  5.           float buff = findArray[m];
  6.           findArray[m] = findArray[m+1];
  7.           findArray[m+1] = buff;
  8.         }
  9.       }
  10.     }
  11.     float ans = 0;
  12.     if (findLen % 2 == 0) {             // если кол-во элементов в массиве четное (findLen - последний индекс массива, отсчет - с нуля)
  13.       ans = findArray[(int) (findLen/2)]; // то берем центральное
  14.     } else {                              // иначе
  15.       ans = (findArray[(int) (findLen/2)] + findArray[((int) (findLen/2)) + 1])/2;  // берем среднее от двух центральных
  16.     }
  17.     return ans;
  18. }
  19. void setup() {
  20.   // put your setup code here, to run once:
  21.   float test[9] = {1,100,5,7,3,2,6,8,4};
  22.   Serial.begin(9600);
  23.   Serial.println(findMedian(9, test));
  24. }
  25.  
  26. void loop() {
  27.   // put your main code here, to run repeatedly:
  28.  
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement