| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1456 人关注过本帖
标题:语法有一个字母错误,哪位兄台给看一下把.有详细介绍
取消只看楼主 加入收藏
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
 问题点数:0 回复次数:10 
语法有一个字母错误,哪位兄台给看一下把.有详细介绍
请大家直接看第3楼的帖子把,这个程序是错的,对不起大家了 我把它删除了 还有要看斑竹修改后的程序,

[此贴子已经被作者于2005-9-12 15:42:37编辑过]

搜索更多相关主题的帖子: 语法 字母 
2005-09-11 18:09
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 

首先,我要向斑主说声对不起,因为我的疏忽,把原本小的b写成大写的B了,我测试的时候是用小写的测试的,提示*号语法错误, 我按照斑竹给的程序测试了一下.错误共有4处,都怪我给的是错误的程序了,还请斑竹帮忙给看一下把 下面是测试时的程序,绝对没错一个字母,还是老问题,仍然提示:说明语法错误 #include"stdio.h" #define MAX_LEN 10000 #define n 6 int len; //当前走过的犁镜的权值和 int min;//当前找到的最短路径的和 int k;//当前最短的步数 int c[n];//最短路 //递归子过程,从X到Y,总步数为Z void fd(int*gr,int x,int y,int z,int*a,bool*b) //这句里bool*b中间的*号被提示错误.错误提示是说:说明语法错误.而且只有*号变成兰色,bool和b都好好的,在*号的下面有一道蓝线提示*号错误,请大家指点这个*号到底错在啥地方了\如何修改呢这个语句,这个程序里就这一个错误了,还请大家指点.这是个求最短路径的小程序,我找了半个月才找见的.谢谢 { int f,j; for(f=0;f<n;f++){ //让F从0到N-1寻找邻结点 if(gr[x*n+f]>0&&b[f]==false){ //判断是否F点在X邻域并且F点没有走过 a[z]=f; //走到F点(F点进栈) b[f]=true; //记录F点已经走过 len=len+gr[x*n+f]; //在当前路径长度中增加新边长 if(f!=y) //如果没有走道Y点就继续走 fd(gr,f,y,z+1,a,b); else if(len<min){//走到Y就看当前长度是否比当前最小长度小,如果当前小就更新 k=z;//先记录下当前犁镜的点数 min=len;//以当前长度作为当前最小长度 for(j=1;j<k+1;j++)//依次更换当前最短路径中的每个点 c[j]=a[j]; }//结束更新 len=len-gr[x*n+f];//退掉F点,先在当前路径长度中减去退出的一条边长 b[f]=false;//把F点恢复为没有走过 }//结束X邻域的搜索 } } //在N个点的网上求X到Y的最短路径,关联距阵是GR

void shortest(int*gr,int x,int y,int*a,bool*b) { int i; min=MAX_LEN; for(i=0;i<n;i++) b[i]=false; a[0]=x; b[x]=true; len=0; fd(gr,x,y,1,a,b); for(i=0;i<k+1;i++) printf("%d,",c[i]); printf("\n"); printf("the shortest length is %d.\n",min); } void main() { int gr[n][n]={{0,1,2,0,0,0}, {1,0,1,3,1,0}, {2,1,0,0,0,12}, {0,3,0,0,1,0}, {0,1,0,1,0,8}, {0,0,12,0,8,0}}; int a[n]; bool b[n]; shortest((int*)gr,0,5,a,b); }

[此贴子已经被作者于2005-9-12 15:44:17编辑过]


2005-09-12 00:57
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
这是个求任意2点最短路径的算法,在这个程序里,求的是标号0顶点到标号5顶点的最短路径,
这条路一共有6个顶点相连.
最后程序运行的结果应该是
0,1,4,5.
the shortest length is 10
意思是说走0.1.4.5这个路线是最短的路径,权值加起来是10,
如果已公里做计算单位的话,也就是说这条路共是10公里.
x和y是定义未知顶点的.
斑竹,我在测试一下看看.昨晚用C2.0测试,你给的程序错误有8处,警告4处.
不知道你是用什么工具测试的\
我现在马上在测试一下.
结果马上就出来,
多谢大家的指点

2005-09-12 13:27
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
你运行的结果完全正确,结果是3,路径0。1。4。3也对。
你是用啥软件测试的呀,用的是几楼的原程序测试的呢、
是用斑竹的程序吗、有没有经过修改呀
我用TC2.0运行斑竹的程序,老是提示错误,
刚才我测试,用了2个不同版本的TC2.0测试的,
错误有4个,就是凡是出现false和true的语句,就有错误,一共有4处,
系统提示没有定义,请问楼上的朋友,你是在什么环境下测试的,告诉我好吗
我用自己帖上去的程序运行,错误有一个,是说明语法错误,难死我了,,


[此贴子已经被作者于2005-9-12 15:28:18编辑过]



2005-09-12 15:25
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 

晕,3楼不就是我发的程序吗,难道真的是我的程序吗, 用的是VC++6.0

那我装个VC++6.0看看, 多谢了,大家,~~~~~~~~


2005-09-12 18:11
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
明白了,可电脑遇见其他的问题\装不了VC6.0
现在我无法测试,用TC2.0测试老提示错误,
我格式化硬盘后,重装98,98ME,2000专业版,XP.上海政府版每个都试过了.
VC6.0和VB6.仍然提示不能装入系统文件,
可15天前我还可以装VB6.0的,用还原精灵还原后,就在也装不上了
但是VB2005,VC,NET却可以装该想的办法都想了,实在没有办法了\请大家指点

2005-09-13 14:08
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
是这样的, 以前这个机子装过VB6.0可以装的,可是现在VB.6.0.VC6.0却忽然装不了了,但是VB2005却可以装, 软件提示:安装程序不能装入系统文件或更新正在使用的共享文件,执行下一步之前,请关闭所有应用程序. 我把所有的程序关了\还是不行, 我找了好多VC6.0的版本,网上的,从微软网站下载的,都不行,干脆重装系统,不管是98ME,还是XP第2版,还是不行,就提示那一句话. 真的要疯了\请大家指点,这是咋回事呀,1个月前还是好好的,难道VC6.0和硬件有冲突\

2005-09-13 16:12
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
装到哪个盘都一样\事实上一点击VC6.0装机程序\直接就给了个错误画面就没有到选盘的步骤程序就自动失败退出了
真成了奇闻了
换了4个操作系统\格式化了4次硬盘,全是干净的系统下载了4个不同版本的VC6.0和VB6.0\其中包括从微软网站下载了2个\英文版和中文版
竟然都装不了
但是C#,2003NET,VB2005,却都可以装,
我真的没有办法了

2005-09-13 22:26
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
以下是引用zorro2zzz在2005-9-12 16:49:28的发言: 我把shortest((int*)gr,0,5,a,b);中0改为50后,再运行,结果路径为0.3.4.5,the shortest length is 125……不知道结果对不?
当然是错的\因为这个路上一共只有6个顶点(0.1.2.3.4.5),你只能选其中的一个作为起点 \没有50这个顶点,得出的结果也是程序乱写的 所以你的结果是错的 你还没有告诉我,你运行正确的是谁发的程序呢,是斑竹的还是我发的呢

[此贴子已经被作者于2005-9-13 22:42:19编辑过]


2005-09-13 22:31
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
以下是引用kai在2005-9-13 0:46:03的发言: 你3楼的程序作了4处修改 #include <stdlib.h> int main() system("pause"); return 0; 建议你下载Dev, 建议你结合使用Dev 和 VC
我已经下载了DE-C++5.0中文版, 斑竹真是厉害呀,运行你改过的程序后,在编译上已经没有错误了 只是运行的时候,画面一闪即过,根本看不到运行的结果,难道说还有什么问题吗 还有就是DE-C++它如何把程序生成EXE可执行文件呢\

2005-09-14 00:21
快速回复:语法有一个字母错误,哪位兄台给看一下把.有详细介绍
数据加载中...
 
   



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

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