medi.cpp
来自「′问题描述: 设 X[0:n-1]和 Y[0:n-1]为 2 个数组,每个数」· C++ 代码 · 共 60 行
CPP
60 行
#include <iostream.h>
#include<fstream.h>
#include<iostream>
int Mid_Num(int x[],int y[],int n);
int main()
{
int *X,*Y;
int n,i,buf,MidNum;
ifstream input("input.txt");
ofstream output("output.txt");
input>>n;//得到数组长度
if(n<=0)
{
cout<<"没有写数组文件"<<endl;
return 0;
}
X=new int[n]; //X数组指针动态分配空间
Y=new int[n];
cout<<" X[n]:"<<endl;
for(i=0;i<n;i++) //数组X
{
input>>buf;
X[i]=buf;
cout<<"X["<<i<<"] = "<<X[i]<<endl;
}
cout<<" Y[n]:"<<endl;
for(i=0;i<n;i++) //数组Y
{
input>>buf;
Y[i]=buf;
cout<<"Y["<<i<<"] = "<<Y[i]<<endl;
}
MidNum=Mid_Num(X,Y,n);
cout<<"数组X和Y的中位数是:"<<MidNum<<endl;
output<<MidNum<<endl;
return 0;
}
int Mid_Num(int x[],int y[],int n)
{
int *Xp,*Yp;
if((x[n/2]==y[n/2])||(n/2==0))
return x[n/2];
else if(x[n/2]>y[n/2])
{
Xp=x;
Yp=y+n/2;
}
else
{
Xp=x+n/2;
Yp=y;
}
return Mid_Num(Xp,Yp,n/2);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?