Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:怎么统计数组的出现某个值得次数

1楼
wsuong 发表于:2018/3/12 11:53:43
RUNMODE:0;
VARIABLE:kdz[]=0;
asx:STKINDI('','dsg.asx',2,-1);
if asx>0 then kdz:=asx;

数组kdz已经定义好
就想在asx>0时,统计asx的值在数组kdz中出现的次数,asx为变量。

比如
当asx>0时,数组中的值为【1,3,5,5,3,2,6,4,6,4,3,2,4,7.....4】最后一次asx>0时数组中的值为4。
好了,现在就是想在最后一次asx>0时统计数组中出现4的次数。

金字塔的教程太有限了,看了很多还是解决不了问题。
还有个小问题,就是怎么调出数组中的值,用哪个函数啊?
2楼
wenarm 发表于:2018/3/12 13:20:40

只能用for循环遍历了。

你上面的写法用数组没有意义,stkindi引用过来的值本身就是一个序列变量,你把它就直接当成一个数组进行取值就行了,干嘛还要赋值给一个空数组。

aaa:count(asx>0,0);

3楼
FireScript 发表于:2018/3/12 13:22:17

asx引用过来就相当于一个数组了,

count(asx=4,0) 返回值就是4出现的次数。

 

没必要塞到数组里面去。

 

4楼
wsuong 发表于:2018/3/12 23:02:04
因为当asx>0时不知道赋的是什么值。而且asx>0时赋的值有几百种。
我用for循环也不行。
if(asx>0,count(asx=asx[DATACOUNT],0),0) ;这样行吗?
5楼
wsuong 发表于:2018/3/12 23:02:15
因为当asx>0时不知道赋的是什么值。而且asx>0时赋的值有几百种。
我用for循环也不行。
if(asx>0,count(asx=asx[DATACOUNT],0),0) ;这样行吗?
6楼
FireScript 发表于:2018/3/13 9:37:42

不行的  这个实现不了你要的。 此外asx[DATACOUNT]除了最后一个K,在其他K上都等于是未来引用了,超出数组长度了其实。

共6 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.10938 s, 3 queries.