help!求先设置一个动态数组,然后再将这个数组元素排序!求大侠修改程序
程序代码:
//用数组给数字排序 //#define num 5 #include<iostream> using namespace std; void main() { int i,j,k,l,num,*p; //int a[num]; cout<<"请输入您要排序的数字个数:\n"; cin>>num; p=new int [num];//动态内存分配 int a[num]; cout<<"请输入您要排序的数字:\n"; for(i=0;i<num;i++) {cin>>a[i];} for(l=0;l<num-1;l++) { for(j=0;j<num-1-l;j++) if(a[j]>a[j+1]) { k=a[j]; a[j]=a[j+1]; a[j+1]=k; } } cout<<"由小到大整理排序后的顺序为:\n"; for(l=0;l<num;l++) { cout<<a[l]<<","; } cout<<"\n"; system("pause"); }之前用的不是动态数组是可以给数组里面的元素排序的。
不过我觉得事先定死元素个数,程序就很局限了。(注释掉的语句就是之前非动态数组用的)
所以就想用动态数组重写一个,不过问题来了,之前没用动态的数组a,现在用了“p=new int [num];//动态内存分配”之后就不认了。
因为没有定义a[],那么我之后的for 语句中的a[]又要怎么修改?
或者各位大侠有更好的方法。。。
求大侠不吝赐教,只要思路相同,整个程序都改完也可以。