全球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. ^
  1. int s = duniform(1,7);
    4 p& x; P, B0 c% {. M0 ?  |
  2. Table L_way = Table("heavy_way");
    / ?+ J2 _: t7 b6 @
  3. Table L_factway = Table("heavy_wayfact");
    6 P4 G# ]" y; R9 T) g

  4. 5 T$ k" o' Z5 W5 H& l9 I
  5. int x = 0;
    ; D% q! Z. _9 N/ W: @  u
  6. int index =0;
    5 w5 V2 {* |5 `* m
  7. double m = 0;4 `3 c+ ^* S4 A0 K  h
  8. for(int i=1;i<L_way.numRows;i++)
    2 c% p) d, ]. g, {
  9. {9 v$ w8 Z& O+ N7 q# _( O0 T! O
  10.         double flowrate = L_way[i][s];
    . W, Y8 d% D4 j
  11.         double lfact = L_factway[i][s];  // 每次你这样都是为0,因为你没改变过# [" I# B' B0 e  M) P; Q
  12.         if(flowrate!=0)   // 找到非0值
    ' K; t6 Y. x3 S$ d. ^; o5 |
  13.         {
    + A# {* y: ]$ ]# _, g  x. i
  14.                 index++;
    ( E) F* R1 C& s$ y- k& t. \# ~9 x
  15.                 if(index==1)   // 当找到第一个flowrate值不为00 _% c, L7 w9 n# T: i* m
  16.                 {
    5 t- q# y& V6 X& H' e) Q( ~# Y7 @5 X
  17.                         x=i;4 u1 D3 ~- {3 q. z3 R
  18.                         m=lfact/flowrate;  // m还是0,因为lfact始终为0. Y( t" {7 m. w; o
  19.                 }
    % n3 _- {4 `# a( k4 j3 J1 g
  20.                 if(m>lfact/flowrate)   // 所以这个条件始终是没用的
    - E: h" B6 `1 l+ T( d+ B6 V" W6 s
  21.                 {
    ( C+ C5 Q" s4 z' m( w
  22.                         x=i;
    ; A9 }# O8 v) g  K
  23.                         m=lfact/flowrate;
    . u7 V* L3 U: G
  24.                 }
    ; H. R  g% ~: t2 l
  25.         }+ U5 h8 k$ i. ?0 n- N
  26. }
复制代码

作者: Gao73    时间: 2019-5-13 09:35
沈瑞祥 发表于 2019-5-12 22:24, j  @% \% h9 v4 L
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。
/ @+ e+ [0 C$ j% w; F, v
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605    时间: 2019-5-14 16:19





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