全球FlexSim系统仿真中文论坛
标题: 程序未执行问题 [打印本页]
作者: Gao73 时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。( b# b6 J2 i$ k0 H4 ^* W; L
内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。
6 G) Y: e+ e$ n+ u9 b* z: E[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]
5 \0 X. G/ p. L
2 {/ E; o; D2 g
! h2 i4 N1 x# S7 C$ H+ I/ T
作者: 沈瑞祥 时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。# d/ M( Z8 g9 V# F
- int s = duniform(1,7);
. u, h) ~" L) a5 f: h - Table L_way = Table("heavy_way");
; h$ P" [% V+ E h% I' e - Table L_factway = Table("heavy_wayfact");
& }9 p% X$ t! c3 j
- Y' \3 @" I5 O0 Y9 d( ~! {" a- int x = 0;, f. I% o" U1 V) p* `
- int index =0;- C5 q* f# k" s' n5 {( G
- double m = 0;
. [) V( m) |. O - for(int i=1;i<L_way.numRows;i++)% g* j: H* Z) o# N# V+ _
- {
1 `; P; r% k3 _: ?. E0 _2 p - double flowrate = L_way[i][s];
! ~# J& m; L5 V7 u' `7 d1 _ - double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过
9 k" F, {) I; P% d/ ?& O( D - if(flowrate!=0) // 找到非0值
. `& z0 V+ v* i9 E4 m& m4 H7 A* H - {
) X0 O, H# V, r! h/ g; w - index++;3 P/ r& C' F1 L) L
- if(index==1) // 当找到第一个flowrate值不为0
! Q$ r9 L# q% X - {
5 D2 Y1 p0 V* o3 E4 C( r - x=i;
4 p( ^6 }) z( a& n2 I, X" W6 f4 j - m=lfact/flowrate; // m还是0,因为lfact始终为0, @. E! S2 ^; ]! C' E" T) R
- }; P, V4 i& ?( M+ h3 T
- if(m>lfact/flowrate) // 所以这个条件始终是没用的) G( D2 K/ j) s9 W$ B" I
- {8 W7 x- {- t6 B( P
- x=i;, b3 S. m B& g! p, x5 O$ L
- m=lfact/flowrate;) P# T7 F Q! a j/ M/ v
- }
5 n8 S7 y4 l/ T: I5 ] - }
$ U% X& ]! W/ e L& s4 ~' ~! Q% [& H - }
复制代码
作者: Gao73 时间: 2019-5-13 09:35
6 c# T: x' @0 o8 ?0 d% r1 R1 ^
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605 时间: 2019-5-14 16:19
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) |
Powered by Discuz! X3.3 |