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