全球FlexSim系统仿真中文论坛

标题: 程序未执行问题 [打印本页]

作者: Gao73    时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。
- ]+ }) |8 X6 O! [" K内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。/ I6 b  v1 a" W  R9 L# s0 Q
[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]$ l, f9 `6 ^, e$ V

' L3 L; d6 K! r( c/ a/ B( L8 k4 `% s; ]

作者: 沈瑞祥    时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。3 a* @. c9 c/ L8 E+ o" J# o
  1. int s = duniform(1,7);( m% s0 d2 P7 K
  2. Table L_way = Table("heavy_way");3 p+ |) O- z  g( ~
  3. Table L_factway = Table("heavy_wayfact");% E# f' Y" X  w: N
  4. , L$ l. L" m7 ?4 Z; X: Q& Q$ d
  5. int x = 0;
    - e, n" X0 w! t; r" Y, f
  6. int index =0;
    - \7 M3 w$ Y/ @5 O0 z, {$ Z
  7. double m = 0;& z/ W2 i3 s; n
  8. for(int i=1;i<L_way.numRows;i++)
    / `7 M! k% d! Q5 i% r+ m2 u. U" ]
  9. {
    / h6 g4 @+ P! Z! O; M! S/ R0 g
  10.         double flowrate = L_way[i][s];
      ]- c( S8 w, p+ ~# d
  11.         double lfact = L_factway[i][s];  // 每次你这样都是为0,因为你没改变过
    ; B7 h2 s1 I2 v
  12.         if(flowrate!=0)   // 找到非0值
    , o( {+ x2 F' e* d/ _( O
  13.         {
    : O: d, u0 Z' E0 u. v! l( `
  14.                 index++;7 B8 O+ u. f( D$ H
  15.                 if(index==1)   // 当找到第一个flowrate值不为0/ M: e) r. |, ~7 f6 X
  16.                 {
    $ o! [3 v3 D( i) g' E9 H; {: W
  17.                         x=i;
    2 g# K% X) |" b0 b: U  M
  18.                         m=lfact/flowrate;  // m还是0,因为lfact始终为0
    ' \: Y9 M% ?3 \. `9 x  ~
  19.                 }
    ' |  B2 `, v0 J* a  a& w1 y
  20.                 if(m>lfact/flowrate)   // 所以这个条件始终是没用的
    3 V. u* t. ~9 i# @7 q% @! ~  J% D
  21.                 {
    1 K4 T8 u/ O7 M9 l4 A$ P- C, x
  22.                         x=i;
    / q' w  |6 c: L; g7 v. |0 o
  23.                         m=lfact/flowrate;+ m" R5 ?! Q* A" y) `( _6 {5 k* Z
  24.                 }
    + o. T/ Z/ E4 n) z, W: y0 v
  25.         }
    " N, s; `5 N- f1 K" T4 n
  26. }
复制代码

作者: Gao73    时间: 2019-5-13 09:35
沈瑞祥 发表于 2019-5-12 22:24
5 E9 N" Z/ C- I1 G你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。

3 u! p$ V2 N, r% N谢谢版主咯,我再去修改一下程序试试
作者: zjj0605    时间: 2019-5-14 16:19





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