首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

选择排序程序出错了!解决方法

2012-04-15 
选择排序程序出错了!!#includeiostream#includeiomanipusing namespace stdvoid swap(int* const,int

选择排序程序出错了!!
#include<iostream>
#include<iomanip>
using namespace std;

void swap(int* const,int* const);
void selectionSort(int* const,const int);

int main()
  {
  const int arraySize = 10;
int a[arraySize] = {2,4,5,6,29,34,56,43,67,44};
cout<<"Data items in original order\n";
for(int i=0;i<arraySize;i++)
{
cout<<setw(4)<<a[i];
selectionSort(a,arraySize);
cout<<"\nData items in ascending order\n";
for(int j = 0;j < arraySize;j++)
cout<<setw(4)<<a[j];
cout<<endl;
}
void selectionSort(int * const array,const int size)
{
  int smallest;
  for(int i=0;i<size-1;i++)
  {
  smallest = i;
for(int index=i+1;index<size;index++)
{
if(array[index]<array[smallest])
smallest=index;
swap(&array[ i ],&array[ smallest ]);
}
  }
  void swap(int* const element1ptr,int* const element2ptr)
  {
  int hold = *element1ptr;
*element1ptr = *element2ptr;
*element2ptr = hold;
  }
   
  }
}





const.cpp(23) : error C2601: 'selectionSort' : local function definitions are illegal
const.cpp(43) : warning C4508: 'main' : function should return a value; 'void' return type assumed
求助,如何修改!!

[解决办法]
楼主函数的大括号打错了,帮你改了。。

C/C++ code
#include<iostream>#include<iomanip>using namespace std;void swap(int* const,int* const);void selectionSort(int* const,const int);int main()  {  const int arraySize = 10;int a[arraySize] = {2,4,5,6,29,34,56,43,67,44};cout<<"Data items in original order\n";for(int i=0;i<arraySize;i++){cout<<setw(4)<<a[i];selectionSort(a,arraySize);cout<<"\nData items in ascending order\n";for(int j = 0;j < arraySize;j++)cout<<setw(4)<<a[j];cout<<endl;}return 0;    //添加return 0;}void selectionSort(int * const array,const int size){  int smallest;  for(int i=0;i<size-1;i++)  {  smallest = i;for(int index=i+1;index<size;index++){if(array[index]<array[smallest])smallest=index;swap(&array[ i ],&array[ smallest ]);}  }}  void swap(int* const element1ptr,int* const element2ptr)  {  int hold = *element1ptr;*element1ptr = *element2ptr;*element2ptr = hold;      } 

热点排行