全球FlexSim系统仿真中文论坛

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

作者: Gao73    时间: 2019-5-10 16:20
标题: 程序未执行问题
请问各位大佬,为什么这几行程序执行出来的结果是x=0啊,按理说结果应该是x=i,即x=1~5中的一个整数啊。谢谢各位大佬。0 R! S- F" G+ ~7 V
内容描述:这几行程序欲实现的功能是选择出“lfact/flowrate”值最小的那一行,每次执行时,s=item.s都是固定不变的,代表下面两个表格中的某一列。heavy_way中的数据一直不变,heavy_wayfact中的数据初始时全部为零,在执行完这几行程序,确定了具体的x之后,就在对应的第i行,s列加154。
  ^% A% e/ K0 u  n7 f2 a2 N! i
[attach]4906[/attach][attach]4907[/attach][attach]4908[/attach]
1 q9 ?6 @1 A( q0 l9 f

2 B( x# ]7 D( M4 J
/ ^1 {# P! S+ h$ B: E& Y- [) G
作者: 沈瑞祥    时间: 2019-5-12 22:24
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。5 o: F- v+ _3 {; j. V: l8 h
  1. int s = duniform(1,7);; h' A# g6 A  m
  2. Table L_way = Table("heavy_way");
    - [) k2 _& A/ }% Q
  3. Table L_factway = Table("heavy_wayfact");
    * U+ J" @! P- w+ v, V6 B% @0 Y
  4. : Z+ l$ y9 _9 _3 ~
  5. int x = 0;, z! |9 }) Q5 h8 y: [0 U8 U
  6. int index =0;
    6 m- A% `8 i3 W
  7. double m = 0;% ?3 b; f( X! L
  8. for(int i=1;i<L_way.numRows;i++)
    4 Q5 F" q/ R- }9 H3 ^" ^
  9. {
    ; m* F1 W1 q$ `8 i7 x8 E# a
  10.         double flowrate = L_way[i][s];* w4 B9 {2 K/ h9 l7 R, T
  11.         double lfact = L_factway[i][s];  // 每次你这样都是为0,因为你没改变过+ x$ h' a9 y! a- e- J
  12.         if(flowrate!=0)   // 找到非0值
    ( v8 Z- @- c6 w1 `  P
  13.         {
    8 m' ]' ]# H4 p9 o
  14.                 index++;0 R& k  @7 X# F4 q9 p# K* j
  15.                 if(index==1)   // 当找到第一个flowrate值不为0
    ' R0 @: u5 L, U6 `9 x, v- s8 s
  16.                 {
    0 n" g1 |) b( U- F9 g
  17.                         x=i;9 t8 s# o7 o  y1 A4 p' z- j2 K
  18.                         m=lfact/flowrate;  // m还是0,因为lfact始终为0
    3 l$ ]' C9 H1 l* z6 T' A
  19.                 }
    8 N( T$ x9 ?: d+ R- {/ i
  20.                 if(m>lfact/flowrate)   // 所以这个条件始终是没用的
    & v" E3 Z" e/ u9 E( ~
  21.                 {
    ' m3 O! _% M" f( B$ O
  22.                         x=i;
    2 k' `3 a5 D* J; t( x7 u+ F( W
  23.                         m=lfact/flowrate;. u. i) B4 \; W( F- q/ P# K
  24.                 }% X2 `% Y5 |* Z& ~
  25.         }  y7 }8 d) e6 R# @- R
  26. }
复制代码

作者: Gao73    时间: 2019-5-13 09:35
沈瑞祥 发表于 2019-5-12 22:24# ?" E: E; G6 s0 R3 t6 B, a. K! \
你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。
5 ]/ K6 N* N, j' o
谢谢版主咯,我再去修改一下程序试试
作者: zjj0605    时间: 2019-5-14 16:19





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