全球FlexSim系统仿真中文论坛
标题: 程序未执行问题 [打印本页]
作者: Gao73 时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。$ Y, Q9 ^3 ?* z! L
内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。
9 Y- j; b, U2 a[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]! g% H& O) [0 Y0 S. }
6 K8 W6 q/ M1 t/ t/ Y
" e- B# R4 d7 D+ N$ d+ H
作者: 沈瑞祥 时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。 c6 R" `. d+ H% F. ^
- int s = duniform(1,7);
4 p& x; P, B0 c% {. M0 ? | - Table L_way = Table("heavy_way");
/ ?+ J2 _: t7 b6 @ - Table L_factway = Table("heavy_wayfact");
6 P4 G# ]" y; R9 T) g
5 T$ k" o' Z5 W5 H& l9 I- int x = 0;
; D% q! Z. _9 N/ W: @ u - int index =0;
5 w5 V2 {* |5 `* m - double m = 0;4 `3 c+ ^* S4 A0 K h
- for(int i=1;i<L_way.numRows;i++)
2 c% p) d, ]. g, { - {9 v$ w8 Z& O+ N7 q# _( O0 T! O
- double flowrate = L_way[i][s];
. W, Y8 d% D4 j - double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过# [" I# B' B0 e M) P; Q
- if(flowrate!=0) // 找到非0值
' K; t6 Y. x3 S$ d. ^; o5 | - {
+ A# {* y: ]$ ]# _, g x. i - index++;
( E) F* R1 C& s$ y- k& t. \# ~9 x - if(index==1) // 当找到第一个flowrate值不为00 _% c, L7 w9 n# T: i* m
- {
5 t- q# y& V6 X& H' e) Q( ~# Y7 @5 X - x=i;4 u1 D3 ~- {3 q. z3 R
- m=lfact/flowrate; // m还是0,因为lfact始终为0. Y( t" {7 m. w; o
- }
% n3 _- {4 `# a( k4 j3 J1 g - if(m>lfact/flowrate) // 所以这个条件始终是没用的
- E: h" B6 `1 l+ T( d+ B6 V" W6 s - {
( C+ C5 Q" s4 z' m( w - x=i;
; A9 }# O8 v) g K - m=lfact/flowrate;
. u7 V* L3 U: G - }
; H. R g% ~: t2 l - }+ U5 h8 k$ i. ?0 n- N
- }
复制代码
作者: Gao73 时间: 2019-5-13 09:35
/ @+ e+ [0 C$ j% w; F, v
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605 时间: 2019-5-14 16:19
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) |
Powered by Discuz! X3.3 |