全球FlexSim系统仿真中文论坛
标题: 程序未执行问题 [打印本页]
作者: Gao73 时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。0 R! S- F" G+ ~7 V
内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。
^% A% e/ K0 u n7 f2 a2 N! i[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]
1 q9 ?6 @1 A( q0 l9 f
2 B( x# ]7 D( M4 J
/ ^1 {# P! S+ h$ B: E& Y- [) G
作者: 沈瑞祥 时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。5 o: F- v+ _3 {; j. V: l8 h
- int s = duniform(1,7);; h' A# g6 A m
- Table L_way = Table("heavy_way");
- [) k2 _& A/ }% Q - Table L_factway = Table("heavy_wayfact");
* U+ J" @! P- w+ v, V6 B% @0 Y - : Z+ l$ y9 _9 _3 ~
- int x = 0;, z! |9 }) Q5 h8 y: [0 U8 U
- int index =0;
6 m- A% `8 i3 W - double m = 0;% ?3 b; f( X! L
- for(int i=1;i<L_way.numRows;i++)
4 Q5 F" q/ R- }9 H3 ^" ^ - {
; m* F1 W1 q$ `8 i7 x8 E# a - double flowrate = L_way[i][s];* w4 B9 {2 K/ h9 l7 R, T
- double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过+ x$ h' a9 y! a- e- J
- if(flowrate!=0) // 找到非0值
( v8 Z- @- c6 w1 ` P - {
8 m' ]' ]# H4 p9 o - index++;0 R& k @7 X# F4 q9 p# K* j
- if(index==1) // 当找到第一个flowrate值不为0
' R0 @: u5 L, U6 `9 x, v- s8 s - {
0 n" g1 |) b( U- F9 g - x=i;9 t8 s# o7 o y1 A4 p' z- j2 K
- m=lfact/flowrate; // m还是0,因为lfact始终为0
3 l$ ]' C9 H1 l* z6 T' A - }
8 N( T$ x9 ?: d+ R- {/ i - if(m>lfact/flowrate) // 所以这个条件始终是没用的
& v" E3 Z" e/ u9 E( ~ - {
' m3 O! _% M" f( B$ O - x=i;
2 k' `3 a5 D* J; t( x7 u+ F( W - m=lfact/flowrate;. u. i) B4 \; W( F- q/ P# K
- }% X2 `% Y5 |* Z& ~
- } y7 }8 d) e6 R# @- R
- }
复制代码
作者: Gao73 时间: 2019-5-13 09:35
5 ]/ K6 N* N, j' o
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605 时间: 2019-5-14 16:19
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) |
Powered by Discuz! X3.3 |