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;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?