using namespace std;
int main() {
void sort(int p,int n)
int i,n,date[10],p,pstr[10];
cout<<"input n:";
cin>>n;
for(i=0;i<n;i++)
{
pstr[i]=&date[i];
}
cout<<"input"<<n<<"integer numbers:"<<endl;
for(i=0;i
}
p=pstr;
sort(p,n);
cout<<"Now,the sequence is:"<<endl;
for(i=0;i<n;i++)
{
cout<<*pstr[i]<<" ";
}
cout<<endl;
return 0;
}
void sort(int **p,int n)
{
int i,j,*temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j
{
temp=(p+i);
(p+i)=(p+j);
(p+j)=temp;
}
}
}
}
里面的date【10】可不可以不要???
大神求解
不好意思里面的*在复制粘贴时突然不见了
不要了你指向啥?
而且这种代码就是让你熟悉语法的.又没什么实际意思.哪有什么要不要的根据.
虚心求教
谢谢
@光与夜的尽头: 有点怪.问题有2个
1.你知道整段代码是干嘛的不
2.你要去掉的东西在整段代码里起的作用
@吴瑞祥 代码是靠地址的转换改变数的排序
@吴瑞祥 你这么一说我感觉date【10】貌似是一个载体
@吴瑞祥 我本来是想就靠**p和*pstr【】两个来编程
@吴瑞祥 主要是没有date数组貌似没法存数据了,顺便说一下,我是一名大一学生,以前听课很不认真,现在下定决心学好程序,虚心求教大神。。如果能帮到我我万分感激
@光与夜的尽头: 最简单的办法是删了重新写.
我以前学的时候都是一段一段的写一段一段的删.C程序设计里的题目我都一个一个做过.一个一个删了.再重新写.
每重新写一次就是进步.进步的前提是自己知道为啥.你这是犯迷糊的状态.不可能有进步的.
你既然已经知道自己做什么了.把代码全删了重新写吧.
@吴瑞祥 谢谢提醒⛽️
代码里的错误太多了~
我是用手机上的c++敲的代码,复制粘贴不知怎么就少了*
@光与夜的尽头:
下面是个插入排序的例子,可以参考下
1 #include <iostream> 2 using namespace std; 3 4 void sort(int *array, int n) 5 { 6 for (int i = 1; i < n; i++) 7 { 8 int key = array[i]; 9 int j = i - 1; 10 while (j >= 0 && array[j] > key) 11 { 12 array[j + 1] = array[j]; 13 j--; 14 } 15 array[j + 1] = key; 16 } 17 } 18 19 int main() 20 { 21 int array[6] = {4, 1, 9, 23, 3, 2}; 22 sort(array, 6); 23 for (int i = 0; i < 6; i++) 24 { 25 cout << array[i] << endl; 26 } 27 system("pause"); 28 return 0; 29 }
@恋恋风尘Ming ok,我初学,我会好好看的,谢谢