cgm1216 发表于 2008-9-8 15:38

求助:c++高手进!

小弟初学C++一程序问题如下:
1. 利用函数重载,写两个同名函数sort, 分别完成int型和float型数组的排序。
在main函数中分别定义int型和float型数组各一个,
然后调用sort函数分别为其排序。让系统自己选择用哪个函数。
希望高手帮忙解决

qfyzy 发表于 2008-9-8 16:04

void sort(int *intNum){
...
}
void sort(folat *floatNum){
...
}
在main里直接调用,系统自动识别

smltq 发表于 2008-9-8 17:40

楼上正解……

cgm1216 发表于 2008-9-8 20:39

回复 3# smltq 的帖子

不懂诶,,能不能解释下呀
谢谢

cgm1216 发表于 2008-9-8 20:46

我自己遍的实在没又思路,高手指教,在线等待

#include <iostream>
#include <stdlib.h>
using namespace std;
void sort(int *intNum)
{int i,Num;
for(i=0;i<Num;i++)
  {int p=i,j,t,*a;
   a=malloc(Num*sizeof(int));
   for(j=i+1;j<Num-1;j++)
    if(a[p]>a[j]) p=j;
    t=a[i];a[i]=a[p];a[p]=t;
     }
}

void sort(float *floatNum)
{ int i,p,j;
p=i;
float t,*a,Num;
  a=malloc(Num*sizeof(float));
   for(i=0;i<Num;i++)
    {float p=i,j,t;
      for(j=i+1;j<Num-1;j++)
        if(a[p]>a[j]) p=j;
         t=a[i];a[i]=a[p];a[p]=t;
        }
}

main()
{int Num,i;
cout <<("please enter the number of digital")<<endl;
cin >>(Num);
cout <<("please enter the digital")<<endl;
int i,a[Num],*p;
p=&a;
for(i=0;i<Num;i++)
cin>>(a[Num]);
sort(Num);
cout<<("the result of the sort is ");
for(i=0;i<Num;i++)
  cout<<a[i];
}

页: [1]

编程论坛