Cần giúp đỡ tìm First and Third Quartile trong 1 mảng

Em có một bài tập về nhà là tìm First and Third Quartile. Căn bản là tìm median của một mảng. First Quartile là median chạy từ số đầu đến cái median và Third Quartile là median chạy từ median đến số cuối cùng. Đây là code của em. Em mới tập viết code nên có gì sai xót xin mọi người giúp đỡ ạ.
Bài tập bắt buộc phải cho ra kết quả trong file ạ.

#include <iostream>
#include <string>
#include <fstream>
#include <math.h> 
void mySort(int a[], int n) {
    int i, j, min, temp;
    for (i = 0; i < n - 1; i++) {
        min = i;
        for (j = i + 1; j < n; j++)
            if (a[j] < a[min])
                min = j;
        temp = a[i];
        a[i] = a[min];
        a[min] = temp;
    }
}
float Median(int Array[], int size) {
    float median;
     
    mySort(Array, size);
    
    median = Array[(size / 2)];
    
    if (size % 2 == 0) {
    
        median = (median + Array[size / 2 - 1]) / 2;
    }
   
    return median;

}
float FirstQuartile (float arr[], int size){
    size = size / 2;

    int i, j, k;
    float median;
    mySort(arr, size);

    median = arr[(size / 2)]; 
	
	if (size % 2 == 0) {
		median = (arr[(size/2)] + arr[(size / 2) - 1]) / 2;
	}

    return median;
}
float ThirdQuartile(float arr[], int size){
float Q3 = arr[(size * 3 / 4)];
    mySort(arr, size); 
    if ((fmod(arr[size * 3 / 4], 2)) == 0)
    {
        Q3 = (Q3 + arr[(size * 3 / 4  - 3/4)] )/2;
    }
    else {
        Q3 = (Q3 + arr[(size * 3 / 4)]) / 2;
    }
    return Q3;
}

Bạn thẩy đề lên đây xem. Chứ code bạn ko biết có đúng iu cầu không nữa. :smile: :smile:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?