为何数组排序出错

这个排序程序为何出错啊#include<iostram>usingnamespacestd;#definesize8voidslesort(floatitems[],in... 这个排序程序为何出错啊

#include<iostram>
using namespace std;
#define size 8
void slesort(float items[],int n);
int findindexofmin(const float x[],int startindex,int endindex);
void exchange(float x,float y);
int main()
{
float ary[size];
for(int i=0;i<size;i++)
{
cout<<"enter the"<<(i+1)<<"element"<<endl;
cin>>ary[i];
}
slesort(ary,size);
for(int i=0;i<size;i++)
cout<<"the"<<' '<<i+1<<"number is"<<ary[i]<<endl;
return 0;
}
void slesort(float items[],int i)
{
int min;
for(int i=0;i<size-1;i++)
{
min=findindexofmin(ary,i+1,size-1);
if(ary[i]>ary[min])
exchange(ary[i],ary[min]);
}
return;
}
int findindexofmin(const float x[],int startindex,int endindex)
{
int minindex;

if((startindex<0)&&(endindex>size))
{
cout<<"ERROR"<<endl;
return -1;
}
minindex=startindex;
for(int i=0;i<endindex;i++)
if(ary[i]<ary[minindex])
minindex=i;
return minindex;
}

void exchange(float x,float y)
{
float temp;
temp=x;
x=y;
y=temp;
}
展开
 我来答
生生ZDH
推荐于2016-08-28 · TA获得超过1404个赞
知道小有建树答主
回答量:562
采纳率:0%
帮助的人:586万
展开全部
#include<iostream>
using namespace std;
#define size 8
void slesort(float items[],int n);
int findindexofmin(const float x[],int startindex,int endindex);
void exchange(float x,float y);
int main()
{
float ary[size];
for(int i=0;i<size;i++)
{
cout<<"enter the"<<(i+1)<<"element"<<endl;
cin>>ary[i];
}
slesort(ary,size);
for( i=0;i<size;i++)
cout<<"the"<<' '<<i+1<<"number is"<<ary[i]<<endl;
return 0;
}
void slesort(float items[],int i)
{
int min;
for(i=0;i<size-1;i++)
{
min=findindexofmin(items,i+1,size-1);
if(items[i]>items[min])
exchange(items[i],items[min]);
}
return;
}
int findindexofmin(const float x[],int startindex,int endindex)
{
int minindex;

if((startindex<0)&&(endindex>size))
{
cout<<"ERROR"<<endl;
return -1;
}
minindex=startindex;
for(int i=0;i<endindex;i++)
if(x[i]<x[minindex])
minindex=i;
return minindex;
}

void exchange(float x,float y)
{
float temp;
temp=x;
x=y;
y=temp;
}

改后编译能运行,但结果不对,问题出在你的void exchange(float x,float y)函数,这样写交换不了两数的,应该用指针或引用,其它的函数也有问题,建议楼主再想想。排序的问题用冒泡法等方法不是很好么
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梨花的菊花带雨
2010-12-15 · TA获得超过331个赞
知道答主
回答量:72
采纳率:0%
帮助的人:27.9万
展开全部
那你问谁呢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式