全球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
  1. int s = duniform(1,7);
    . u, h) ~" L) a5 f: h
  2. Table L_way = Table("heavy_way");
    ; h$ P" [% V+ E  h% I' e
  3. Table L_factway = Table("heavy_wayfact");
    & }9 p% X$ t! c3 j

  4. - Y' \3 @" I5 O0 Y9 d( ~! {" a
  5. int x = 0;, f. I% o" U1 V) p* `
  6. int index =0;- C5 q* f# k" s' n5 {( G
  7. double m = 0;
    . [) V( m) |. O
  8. for(int i=1;i<L_way.numRows;i++)% g* j: H* Z) o# N# V+ _
  9. {
    1 `; P; r% k3 _: ?. E0 _2 p
  10.         double flowrate = L_way[i][s];
    ! ~# J& m; L5 V7 u' `7 d1 _
  11.         double lfact = L_factway[i][s];  // 每次你这样都是为0,因为你没改变过
    9 k" F, {) I; P% d/ ?& O( D
  12.         if(flowrate!=0)   // 找到非0值
    . `& z0 V+ v* i9 E4 m& m4 H7 A* H
  13.         {
    ) X0 O, H# V, r! h/ g; w
  14.                 index++;3 P/ r& C' F1 L) L
  15.                 if(index==1)   // 当找到第一个flowrate值不为0
    ! Q$ r9 L# q% X
  16.                 {
    5 D2 Y1 p0 V* o3 E4 C( r
  17.                         x=i;
    4 p( ^6 }) z( a& n2 I, X" W6 f4 j
  18.                         m=lfact/flowrate;  // m还是0,因为lfact始终为0, @. E! S2 ^; ]! C' E" T) R
  19.                 }; P, V4 i& ?( M+ h3 T
  20.                 if(m>lfact/flowrate)   // 所以这个条件始终是没用的) G( D2 K/ j) s9 W$ B" I
  21.                 {8 W7 x- {- t6 B( P
  22.                         x=i;, b3 S. m  B& g! p, x5 O$ L
  23.                         m=lfact/flowrate;) P# T7 F  Q! a  j/ M/ v
  24.                 }
    5 n8 S7 y4 l/ T: I5 ]
  25.         }
    $ U% X& ]! W/ e  L& s4 ~' ~! Q% [& H
  26. }
复制代码

作者: Gao73    时间: 2019-5-13 09:35
沈瑞祥 发表于 2019-5-12 22:24
# _$ c  [: f. q  J2 m你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。
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