全球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
  1. int s = duniform(1,7);
    % }* k7 F4 Y; @2 n4 y0 ]2 n
  2. Table L_way = Table("heavy_way");! Y8 e5 s9 o% X. C# @
  3. Table L_factway = Table("heavy_wayfact");
    9 u/ y4 k- e7 a  u' ^$ A+ x
  4. 3 A% ]6 P8 C0 }  t
  5. int x = 0;
    4 b0 b! a& \8 F( U
  6. int index =0;- ~- o  M6 V/ a, ~
  7. double m = 0;/ {% d# d8 k+ K. C- J
  8. for(int i=1;i<L_way.numRows;i++)" K2 n) U+ v: C% ?; T% U9 }% x1 ^  |
  9. {
    ; t- [$ S( S. R9 Q0 d
  10.         double flowrate = L_way[i][s];' B% }# [" b' k7 Q5 \  Q1 N; Z2 ~/ Q
  11.         double lfact = L_factway[i][s];  // 每次你这样都是为0,因为你没改变过: \( ?; M8 f" a6 M7 E
  12.         if(flowrate!=0)   // 找到非0值
    $ k+ Z! R* t, w
  13.         {
    . [0 I6 z0 g2 v8 n2 J" k2 R8 X
  14.                 index++;8 Z6 O; U2 g5 n- ]9 u
  15.                 if(index==1)   // 当找到第一个flowrate值不为00 Q: e  X# R% D
  16.                 {
    - j3 j2 F' o9 b
  17.                         x=i;0 {  v& k. W( C' G; V; h' U6 ^$ s) R& I
  18.                         m=lfact/flowrate;  // m还是0,因为lfact始终为0
    6 p+ U5 m+ i+ j$ T6 F
  19.                 }
    . }5 g# m( n: B& h
  20.                 if(m>lfact/flowrate)   // 所以这个条件始终是没用的0 _5 P) S- ^" F" i# }0 I* ]$ o" m
  21.                 {6 J& M6 o5 _! }
  22.                         x=i;
    ' B0 S" K1 z4 J: q8 j& \
  23.                         m=lfact/flowrate;
    + s) r$ b2 G: s( \" t& ]
  24.                 }$ K9 @6 K6 {9 f
  25.         }
    5 X* Y: ~% l" G  x# i2 [9 F
  26. }
复制代码

作者: Gao73    时间: 2019-5-13 09:35
沈瑞祥 发表于 2019-5-12 22:24
; Z8 Y# R6 b; Z4 Q9 l: @2 [- U1 a你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。
4 e+ I8 P# j6 X
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605    时间: 2019-5-14 16:19





欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3