#include <iostream.h>
class CArray
{
private:
int nSizeofInt; //整型数组的大小
int nNumofInt; //整型数组中实际存放的元素个数
int nSizeofFloat; //浮点数组的大小
int nNumofFloat; //浮点数组中实际存放的元素个数
int *pInt; //指向整型数组,动态分配内存空间
double *pFloat; //指向浮点数组,动态分配内存空间
public:
CArray(int nIntSize=100,int nFloatSize=200)
{
pInt=new int[nIntSize];
pFloat=new double[nFloatSize];
nSizeofInt=nIntSize;
nSizeofFloat=nFloatSize;
nNumofInt=0;
nNumofFloat=0;
}
void put(int n) //将n加入到整型数组中
{
if(nNumofInt<nSizeofInt)
{
pInt[nNumofInt]=n;
nNumofInt+=1;
}
}
void put(double x) //将x加入到浮点数组中
{
if(nNumofFloat<nSizeofFloat)
{
pFloat[nNumofFloat]=x;
nNumofFloat+=1;
}
}
int getInt(int index) //取整型数组中第index个元素,index从0开始
{
return pInt[index];
}
double getFloat(int index) //取浮点数组中第index个元素,index从0开始
{
return pFloat[index];
}
~CArray() //析构,释放动态分配的空间
{
delete [100]pInt;
delete [200]pFloat;
}
void print() //分别输出整型数组合浮点数组中的所有元素
{
cout<<"/n整型数组大小 "<<nNumofInt;
if(nNumofInt>0)
{
cout<<" 输出数组元素:"<<endl;
}
for(int i=0;i<nNumofInt;i++)
{
cout<<"["<<pInt[i]<<"] ";
}
cout<<"/n/n浮点数组大小 "<<nNumofFloat;
if(nNumofFloat>0)
{
cout<<" 输出浮点数组元素:"<<endl;
}
for(i=0;i<nNumofFloat;i++)
{
cout<<"["<<pFloat[i]<<"] ";
}
cout<<endl;
}
};
void main()
{
int inti;
double doublef;
CArray A1;
cout<<"向整型数组添加元素:/n";
for(int i=0;i<100;i++)
{
cout<<"输入[1]确定输入元素,进行[下一步]输入任意键:";
cin>>inti;
if(inti==1)
{
cout<<"/n请输入整型数组元素:";
cin>>inti;
A1.put(inti);
}
else
break;
}
cout<<"向浮点数组添加元素:/n";
inti='/0';
for(i=0;i<200;i++)
{
cout<<"输入[1]确定输入元素,进行[下一步]输入任意键:";
cin>>inti;
if(inti==1)
{
cout<<"/n请输入浮点数组元素:";
cin>>doublef;
A1.put(doublef);
}
else
break;
}
inti='/0';
cout<<"/n输入要查看整形数组的值的位置:";
cin>>inti;
cout<<inti<< " 位置的值是:";
cout<<A1.getInt(inti)<<endl;
inti='/0';
cout<<"/n输入要查看整形数组的值的位置:";
cin>>inti;
cout<<inti<< " 位置的值是:";
cout<<A1.getFloat(inti)<<endl;
A1.print();
}