你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。2 p8 f/ d- a! ]3 G; ]- S
- int s = duniform(1,7);8 l( z' p0 p! O/ s
- Table L_way = Table("heavy_way");
6 I( A9 X- P' ?1 `- i - Table L_factway = Table("heavy_wayfact");- n8 [/ \$ m4 p0 `6 _
- - w! b+ } f2 y1 U2 j- m3 J
- int x = 0;
$ f- j* o$ y$ P! J - int index =0;
3 i4 @, f5 \, y6 K( v6 M2 b" D5 x1 K - double m = 0; v# T* ~" b* a' V( ?1 {6 N8 O
- for(int i=1;i<L_way.numRows;i++)
4 _+ p0 \+ i1 I: F4 S - {6 q5 B$ C5 I6 w" ]: ?+ C# i0 `
- double flowrate = L_way[i][s];
* E4 S I( u/ T2 l. n - double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过
) r, L4 ^* h' r9 Y2 @ - if(flowrate!=0) // 找到非0值( z3 @: h% P% D- d0 P
- {
# |: x! q5 H4 K& g. |/ N - index++;; e* i3 M- [5 b6 e! F) @. o4 `! V3 }
- if(index==1) // 当找到第一个flowrate值不为0! I2 t3 ?6 `5 ^' V: L3 B
- {
0 M' m4 u( _5 X - x=i;
6 i# v/ g: o0 e/ X2 U3 o6 \ - m=lfact/flowrate; // m还是0,因为lfact始终为0
3 D( E' a3 f& b0 F0 s - }
/ f7 V0 g- ~: Z - if(m>lfact/flowrate) // 所以这个条件始终是没用的
' M" U6 _& y1 |7 L - {0 e1 T( i8 {2 \
- x=i;% L5 P) d8 }+ i8 k- Z1 \
- m=lfact/flowrate;
9 H: T# V* n6 H5 F' b7 ~( N - }" F9 ^* q& ?$ B
- }3 w# K$ ^3 F1 Y, c; u5 I
- }
复制代码 |