标题:哪位达人来帮我检查下,我的冒泡排序法那里错了。。。。。
只看楼主
吴新刚
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-12-3
 问题点数:0 回复次数:11 
哪位达人来帮我检查下,我的冒泡排序法那里错了。。。。。
#include<iostream.h>
void main()
{
int nCount,nCount1;
int nNum[10],nSum;
nCount=0;
while(nCount<=9)
{
cout<<"输入第"<<nCount+1<<"个数:\t";
cin>>nNum[nCount];
nCount=nCount+1;
}
for(nCount=nCount+1;nCount<=8;nCount=nCount+1)
{
for(nCount1=nCount1+1;nCount1<=9;nCount1=nCount1+1)
{
if(nNum[nCount]<nNum[nCount1])
{
nSum=nNum[nCount];
nNum[nCount]=nNum[nCount1];
nNum[nCount1]=nSum;
}
}
}
for(nCount=0;nCount<=9;nCount=nCount+1)
{
cout<<nNum[nCount]<<" ";
}
cout<<endl;
}





这就是图片,我怎么输的,它就怎么显示,完全不排顺序。。。。我实在检查不出哪里有问题

还请各位高手帮我看看,小弟我感激不尽!!!

搜索更多相关主题的帖子: 冒泡 int 检查 void main 
2005-12-03 23:30
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 
第二个for不对
哪里都能看见的代码,自己找吧

http://kongfuziandlife. http://codeanddesign.
2005-12-04 13:24
吴新刚
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-12-3
得分:0 
哦?

原来如此,那我再仔细看看了,谢了先
2005-12-04 14:58
吴新刚
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-12-3
得分:0 
谢谢zinking了



我今天检查了一下午!总算发现问题了:

第一个for(nCount=nCount+1;nCount<=8;nCount=nCount+1)

应该是for(nCount=0;nCount<=8;nCount=nCount+1)



第二个for(nCount1=nCount1+1;nCount1<=9;nCount1=nCount1+1)
应该是for(nCount1=nCount+1;nCount1<=9;nCount1=nCount1+1)



看来两个FOR都有问题啊,郁闷。。。核心部分居然都错了,我太菜了,哈哈



[此贴子已经被作者于2005-12-4 16:35:20编辑过]

2005-12-04 16:32
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
得分:0 
for(nCount=0;nCount<=8;nCount=nCount+1)
for(nCount1=nCount+1;nCount1<=9;nCount1=nCount1+1)
你这样运行对, 但是进行了很多次没必要的比较

for(n;n<=8;n=n+1)
for(nCount1=nCount+1;nCount1<=9-n;nCount1=nCount1+1)

2005-12-05 19:55
ElfDN
Rank: 4
等 级:贵宾
威 望:11
帖 子:291
专家分:0
注 册:2005-11-13
得分:0 
习惯真不好也,nCount=nCount+1就不能写成nCount++么?
楼上的肯定出错,那个9-n那么小后面的就没排到了

[此贴子已经被作者于2005-12-5 21:15:21编辑过]


2005-12-05 21:13
冉爱代
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-12-6
得分:0 

你的变量名就不能写简单一点吖.?.

if(nNum[nCount]<nNum[nCount1])
{
nSum=nNum[nCount];
nNum[nCount]=nNum[nCount1];
nNum[nCount1]=nSum;
}
这一段 怎么看怎么别扭.. 嘎嘎..也许是我眼神不好使吧 呵呵...

2005-12-06 20:57
吴新刚
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-12-3
得分:0 

哈哈

变量名我之所以写的这么麻烦,

是因为老师说现在最好要用这种方法写,

说这是匈牙利表示法,所以我就这样写咯~

2005-12-07 18:37
tdmsb
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-17
得分:0 

for(nCount=0;nCount<=8;nCount=nCount+1)
for(nCount1=nCount+1;nCount1<=9;nCount1=nCount1+1)
你这样运行对, 但是进行了很多次没必要的比较

for(n;n<=8;n=n+1)
for(nCount1=nCount+1;nCount1<=9-n;nCount1=nCount1+1)
是对的,楼主好好看看书吧,

2005-12-22 14:58
xuec
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-12-13
得分:0 
第二个这样稍微改下就行了。
for (nCount=0;nCount<9;nCount++)
{
for(nCount1=0;nCount1<9-nCount;nCount1=nCount1+1)
{
if(nNum[nCount1]>nNum[nCount1+1])
{
nSum=nNum[nCount1];
nNum[nCount1]=nNum[nCount1+1];
nNum[nCount1+1]=nSum;
}
}
}
2005-12-23 15:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-36549-1-1.html




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

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