全球FlexSim系统仿真中文论坛
标题: 程序未执行问题 [打印本页]
作者: Gao73 时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。
- ]+ }) |8 X6 O! [" K内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。/ I6 b v1 a" W R9 L# s0 Q
[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]$ l, f9 `6 ^, e$ V
' L3 L; d6 K! r( c/ a/ B( L8 k4 `% s; ]
作者: 沈瑞祥 时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。3 a* @. c9 c/ L8 E+ o" J# o
- int s = duniform(1,7);( m% s0 d2 P7 K
- Table L_way = Table("heavy_way");3 p+ |) O- z g( ~
- Table L_factway = Table("heavy_wayfact");% E# f' Y" X w: N
- , L$ l. L" m7 ?4 Z; X: Q& Q$ d
- int x = 0;
- e, n" X0 w! t; r" Y, f - int index =0;
- \7 M3 w$ Y/ @5 O0 z, {$ Z - double m = 0;& z/ W2 i3 s; n
- for(int i=1;i<L_way.numRows;i++)
/ `7 M! k% d! Q5 i% r+ m2 u. U" ] - {
/ h6 g4 @+ P! Z! O; M! S/ R0 g - double flowrate = L_way[i][s];
]- c( S8 w, p+ ~# d - double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过
; B7 h2 s1 I2 v - if(flowrate!=0) // 找到非0值
, o( {+ x2 F' e* d/ _( O - {
: O: d, u0 Z' E0 u. v! l( ` - index++;7 B8 O+ u. f( D$ H
- if(index==1) // 当找到第一个flowrate值不为0/ M: e) r. |, ~7 f6 X
- {
$ o! [3 v3 D( i) g' E9 H; {: W - x=i;
2 g# K% X) |" b0 b: U M - m=lfact/flowrate; // m还是0,因为lfact始终为0
' \: Y9 M% ?3 \. `9 x ~ - }
' | B2 `, v0 J* a a& w1 y - if(m>lfact/flowrate) // 所以这个条件始终是没用的
3 V. u* t. ~9 i# @7 q% @! ~ J% D - {
1 K4 T8 u/ O7 M9 l4 A$ P- C, x - x=i;
/ q' w |6 c: L; g7 v. |0 o - m=lfact/flowrate;+ m" R5 ?! Q* A" y) `( _6 {5 k* Z
- }
+ o. T/ Z/ E4 n) z, W: y0 v - }
" N, s; `5 N- f1 K" T4 n - }
复制代码
作者: Gao73 时间: 2019-5-13 09:35
3 u! p$ V2 N, r% N谢谢版主咯,我再去修改一下程序试试
作者: zjj0605 时间: 2019-5-14 16:19
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) |
Powered by Discuz! X3.3 |