| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1350 人关注过本帖
标题:[求助2]指针,看下错哪了。
只看楼主 加入收藏
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
你这个程序能扩展到几个有点趣问题 我喜欢
你怎么会想到做这个程序的啊??
你能不能再从一些老的程序上再想点有趣的新问题出来 。。

计算机之路是痛苦并快乐着的!!
2007-07-30 09:49
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
for(j=index2;j<max-1;j++){
*(p+j)=*(p+j+1);
*(p+j+1)=value2;
}


我说我想了这么久,原来错这了。

2007-07-30 12:05
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
以下是引用wtyj112在2007-7-30 9:49:32的发言:
你这个程序能扩展到几个有点趣问题 我喜欢
你怎么会想到做这个程序的啊??
你能不能再从一些老的程序上再想点有趣的新问题出来 。。

对程序挑剔点就行了
我初学的,加你Q了。


2007-07-30 12:06
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
不只错那里 还有就是 你的程序流程是 找出最大 -> 找出最小 -> 把最大放最前 -> 把最小放最后
这个流程是有问题的 你自己仔细想想为什么那里有问题!!

还有一个有点趣的地方 不知道你注意了没有 出错的时候为什么 最后一个老是10 而不是别的?

计算机之路是痛苦并快乐着的!!
2007-07-30 12:43
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
以下是引用wtyj112在2007-7-30 12:43:30的发言:
不只错那里 还有就是 你的程序流程是 找出最大 -> 找出最小 -> 把最大放最前 -> 把最小放最后
这个流程是有问题的 你自己仔细想想为什么那里有问题!!

还有一个有点趣的地方 不知道你注意了没有 出错的时候为什么 最后一个老是10 而不是别的?
最后一个老是10 而不是别的?

你说下看看

你不说我还没考虑过这个问题呢

[此贴子已经被作者于2007-7-30 14:05:18编辑过]


2007-07-30 13:51
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
刚开始我猜想在数组后面应该是乱码可是每次都固定是10就奇怪了,只有一种可能就是10就是固定分配的变量值,这样就不难想到这个10就是数组长度max,然后做试验把max改成5 果然最后一个结果是5了

计算机之路是痛苦并快乐着的!!
2007-07-30 16:47
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 

这个是我做试验的代码,注意在给数组赋值的时候 最小值必须要在最大的后面,不然程序出错 你运行下看看 主意
const int test和 const int max 的先后初始化次序 与他们的地址前后关系很有趣

#include<iostream>
using namespace std;
//#define max 10
int main()
{
const int test = 99;
const int max=10;

int a[max];
int *p=a;
int i,j,value1,value2;
int index1=0,index2;

int *p2=&i, *p3=&j, *p4=&value1, *p5=&value2, *p6=&index1, *p7=&index2;
const int *p1 = &max;
const int *p9 = &test;
int *p8 = a;


cout<<"Enter the array number:";
for(i=0;i<max;i++)
{
cin>>*(p+i);
}
value1=*p;
value2=*p;
for(i=1;i<max;i++){
if(value1<*(p+i)){
value1=*(p+i);
index1=i;
}
}
for(j=1;j<max;j++){
if(value2>*(p+j)){
value2=*(p+j);
index2=j;
}
}
cout<<value1<<' '<<value2<<endl;
for(i=index1;i>0;i--){
*(p+i)=*(p+i-1);
*(p+i-1)=value1;
}
for(j=index2;j<max-1;j++){
*(p+j)=*(p+j+1);
*(p+j+1)=value2;
}

for(p=a;p<(a+max);p++)
cout<<*p<<' ';
cout<<endl;
cout <<p8+9<<' '<<p1<<' '<<p9<<' '<<p2<<' '<<p3<<' '<<p4<<' '<<p5<<' '<<p6<<' '<<p7;
cout<<endl;
cout <<*(p8+9)<<' '<<*p1<<' '<<*p9<<' '<<*p2<<' '<<*p3<<' '<<*p4<<' '<<*p5<<' '<<*p6<<' '<<*p7;
return 0;
}


计算机之路是痛苦并快乐着的!!
2007-07-30 18:08
快速回复:[求助2]指针,看下错哪了。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035028 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved