| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:急!VB编程大大们进来,小弟有个程序实现不了,帮帮忙吧!
只看楼主 加入收藏
beyond8839
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-5-19
收藏
 问题点数:0 回复次数:1 
急!VB编程大大们进来,小弟有个程序实现不了,帮帮忙吧!
这是一个关于动态规划法求解单源最短路的VB程序,小弟用VB6.0实现不了,说是无效内部过程,程序如下,高手们帮忙看看吧

CONST Max99 = 99
CONST Max99Int = 9999

DIM N, St, En AS INTEGER ' 顶点数,起点,终点
DIM I, J, X AS INTEGER
DIM Way(Max99, Max99) AS INTEGER ' 线路网络的带权矩阵

TYPE Card
Ne AS INTEGER
Cost AS INTEGER
END TYPE
DIM NetDot(Max99) AS Card
' NetDot(J).Ne--从J点出发的决策
' NetDot(J).Cost--从起点J点出发En的最短路线长度

DIM Str AS STRING ' 文件名串

INPUT "File name=", Str ' 读入文件名串
OPEN Str FOR INPUT AS #1

INPUT #1, N, St, En ' 读入顶点数,起点,终点

FOR I = 1 TO N ' 读入各点间连线的距离
FOR J = 1 TO N
INPUT #1, Way(I, J)
NEXT J
NEXT I

CLOSE (1)

FOR I = 1 TO N
NetDot(I).Cost = Max99Int ' St至各点的最短路线长度初始化
NEXT I

NetDot(En).Cost = 0
NetDot(En).Ne = 0 ' 从最后一段开始,由后何前逐步递推

' 以下两句倒推的求解。

FOR J = N TO 1 STEP -1
FOR X = N TO J STEP -1
IF Way(J, X) > 0 AND NetDot(X).Cost <> Max99Int AND Way(J, X) + NetDot(X).Cost < NetDot(J).Cost THEN
' 若En至x点的最短路己经求出,且加入边(j,x)后使得En至j的路线目前最短
NetDot(J).Cost = NetDot(X).Cost + Way(J, X)
' 则记下最短路线长度
NetDot(J).Ne = X
END IF
NEXT X
NEXT J

IF NetDot(St).Cost = Max99Int THEN
PRINT "NoWay"
ELSE
' 否则从起点出发,按计算顺序反推最短路线
X = St
WHILE X <> 0
PRINT X, " ";
X = NetDot(X).Ne
WEND
END IF
END


原程序还有一个TXT文件,如下:输入文件名为Q01.TXT其内容如下:

10 1 10
0 2 5 1 -1 -1 -1 -1 -1 -1
-1 0 -1 -1 12 14 -1 -1 -1 -1
-1 -1 0 -1 6 10 4 -1 -1 -1
-1 -1 -1 0 -1 12 11 -1 -1 -1
-1 -1 -1 -1 0 -1 -1 3 9 -1
-1 -1 -1 -1 -1 0 -1 6 5 -1
-1 -1 -1 -1 -1 -1 0 -1 10 -1

这个程序最后的运行结果应该是:
File Name=q01.txt
1 3 5 8 10

请问VB高手如何在VB6.0中调用那个q01的txt文件实现输入啊?
高手大大们帮忙看看吧,小弟急用啊,谢谢了!
如有更好的VB程序请发我邮箱:kobe8839bryant@ 谢谢了!


有贪心法(Dijkstra算法)求单源最短路的VB程序也可发给小弟 最好有问题描述和图解,谢谢大家了!

[[it] 本帖最后由 beyond8839 于 2008-5-19 00:54 编辑 [/it]]
搜索更多相关主题的帖子: 起点 动态 网络 
2008-05-19 00:32
cobby
Rank: 1
等 级:新手上路
威 望:1
帖 子:565
专家分:0
注 册:2007-7-11
收藏
得分:0 
无效内部过程一般是过程定义出了问题。检查下你定义的过程是否有声明。这么乱的代码我们看着头大。。。

努力成为菜鸟!
2008-05-19 10:09
快速回复:急!VB编程大大们进来,小弟有个程序实现不了,帮帮忙吧!
数据加载中...
 
   



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

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