全球FlexSim系统仿真中文论坛
标题: 程序未执行问题 [打印本页]
作者: Gao73 时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。
1 |4 v7 a% L' H0 z6 H+ N内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。/ C" x4 u% p( X4 V4 j2 ]
[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]' t+ t+ S" {) g0 u" L% P
4 S7 p3 s# ^: y/ V: Z" L2 m8 v+ j- w6 O4 |) @( t" U: X
作者: 沈瑞祥 时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。4 R, K. U! N/ Z3 \# F+ ]" y4 j
- int s = duniform(1,7);
% }* k7 F4 Y; @2 n4 y0 ]2 n - Table L_way = Table("heavy_way");! Y8 e5 s9 o% X. C# @
- Table L_factway = Table("heavy_wayfact");
9 u/ y4 k- e7 a u' ^$ A+ x - 3 A% ]6 P8 C0 } t
- int x = 0;
4 b0 b! a& \8 F( U - int index =0;- ~- o M6 V/ a, ~
- double m = 0;/ {% d# d8 k+ K. C- J
- for(int i=1;i<L_way.numRows;i++)" K2 n) U+ v: C% ?; T% U9 }% x1 ^ |
- {
; t- [$ S( S. R9 Q0 d - double flowrate = L_way[i][s];' B% }# [" b' k7 Q5 \ Q1 N; Z2 ~/ Q
- double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过: \( ?; M8 f" a6 M7 E
- if(flowrate!=0) // 找到非0值
$ k+ Z! R* t, w - {
. [0 I6 z0 g2 v8 n2 J" k2 R8 X - index++;8 Z6 O; U2 g5 n- ]9 u
- if(index==1) // 当找到第一个flowrate值不为00 Q: e X# R% D
- {
- j3 j2 F' o9 b - x=i;0 { v& k. W( C' G; V; h' U6 ^$ s) R& I
- m=lfact/flowrate; // m还是0,因为lfact始终为0
6 p+ U5 m+ i+ j$ T6 F - }
. }5 g# m( n: B& h - if(m>lfact/flowrate) // 所以这个条件始终是没用的0 _5 P) S- ^" F" i# }0 I* ]$ o" m
- {6 J& M6 o5 _! }
- x=i;
' B0 S" K1 z4 J: q8 j& \ - m=lfact/flowrate;
+ s) r$ b2 G: s( \" t& ] - }$ K9 @6 K6 {9 f
- }
5 X* Y: ~% l" G x# i2 [9 F - }
复制代码
作者: Gao73 时间: 2019-5-13 09:35
4 e+ I8 P# j6 X
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605 时间: 2019-5-14 16:19
| 欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) |
Powered by Discuz! X3.3 |