(新手正在学习中,有错误请指出)
#include<iostream>
#include <algorithm>
#include <vector>
using namespace std;
//寻找两个正序数组的中位数
int main()
{
int arr1[10];
int arr2[10];
int a;
cout << " 输入数组1的长度:";
cin >> a;
cout << " 输入数组1:";
for (int a1 = 0; a1< a; a1++)
{
cin >> arr1[a1];
}
int b;
cout << " 输入数组2的长度:";
cin >> b;
cout << " 输入数组2:";
for (int b1 = 0; b1 < b; b1++)
{
cin >> arr2[b1];
}
int c;
cout << " 输入合并后数组的长度:";
cin >> c;
int arr3[10];
int j = 0;
for (int i = 0; i < c; i++)
{
if (i <a)
{
arr3[i] = arr1[i];
}
else
{
arr3[i] = arr2[j++];
}
}
//快速对数组进行由大到小的排序
sort(arr3,arr3+c);
cout << " 输出合并数组:";
for (int c1 = 0; c1 <c ; c1++)//利用for循环依次输出数组中各数
cout<< arr3[c1] << " ";
int d = c % 2;
double e = c/2;
if(d == 0)
{
double add =(( double(arr3[int(e)])+ double(arr3[int(e-1)]))/2);
cout << endl<<"中位数:";
cout << add;
}
else if (d == 1)
{
int d1 = floor(e);
double add = arr3[d1];
cout <<endl<< "中位数";
cout << add;
}
}