| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 159 人关注过本帖
标题:数组求最大值,平均值
只看楼主 加入收藏
a1999zqw
Rank: 1
等 级:新手上路
帖 子:179
专家分:0
注 册:2009-4-3
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:7 
数组求最大值,平均值
一维数组a1=1,a2=4,a3=12,a4=3,a5=9,a6=12.6,a7=25,........,a200=51
需要求某-段连续的最大值和平均值,例如a3到a7的最大值和平均值,或者a13到a169的最大值和平均值,谢谢
搜索更多相关主题的帖子: 求最大值 维数 平均值 数组 最大值 
2021-07-18 22:15
琅拿度
Rank: 1
等 级:新手上路
帖 子:130
专家分:5
注 册:2016-4-7
收藏
得分:0 
a_max=0
a_tot=0
ii=0
for i=13 to 169
ic=allt(str(i))
a_max=max(a_max,a&ic)
a_tot=a_tot+a&ic
ii=ii+1
endfor

最大值=a_max
平均值=a_tot/ii


2021-07-19 08:29
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:257
帖 子:8912
专家分:23271
注 册:2012-2-5
收藏
得分:15 
程序代码:
CLEAR
LOCAL an[100]
FOR lnj = 1 TO 100
    an[lnj] = lnj
ENDFOR
getan[@an, 3, 8] && 数组元素3-8,可以随意更改,第三个参数必须大于第二个参数
? an[1], an[2]
FUNCTION getan(ab, b1, b2)
    LOCAL lnj, lnSum, lnMax
    lnSum = 0
    lnMax = 0
    FOR lnj = b1 TO b2
        lnSum = lnSum + ab[lnj]
        lnMax = MAX(ab[lnj], lnMax)
    ENDFOR
    ab[1] = lnMax && 最大值
    ab[2] = lnSum/(b2 - b1 + 1) && 平均值
ENDFUNC 

坚守VFP最后的阵地
2021-07-19 09:39
a1999zqw
Rank: 1
等 级:新手上路
帖 子:179
专家分:0
注 册:2009-4-3
收藏
得分:0 
回复 3楼 sdta
版主,谢谢您。有个小问题:原数组数值不要修改。另外getan[@an, 3, 8] 中的@an是什么意思,vfp9帮助文件里找不到。
2021-07-19 12:07
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:257
帖 子:8912
专家分:23271
注 册:2012-2-5
收藏
得分:0 
以下是引用a1999zqw在2021-7-19 12:07:17的发言:

版主,谢谢您。有个小问题:原数组数值不要修改。另外getan[@an, 3, 8] 中的@an是什么意思,vfp9帮助文件里找不到。

图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2021-07-19 12:15
a1999zqw
Rank: 1
等 级:新手上路
帖 子:179
专家分:0
注 册:2009-4-3
收藏
得分:0 
看了老半天还是不会。用SET UDFPARMS TO VALUE 原数组数值是保留原有的了,那怎么把计算结果传递给新的数组呢,老师赐教,谢谢。
2021-07-19 14:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:312
帖 子:8019
专家分:35713
注 册:2014-5-20
收藏
得分:0 
用CALCULATE命令算
程序代码:
CREATE CURSOR tt (f1 I)
LOCAL arr[200,1]
FOR i=1 TO ALEN(arr)
    arr[i] = i
ENDFOR
APPEND FROM ARRAY arr
nBegin = 3
nEnd = 8
CALCULATE MAX(f1),AVG(f1) TO nMax,nVag FOR BETWEEN(RECNO(),nBegin,nEnd)
? nMax,nVag
2021-07-19 14:31
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:312
帖 子:8019
专家分:35713
注 册:2014-5-20
收藏
得分:5 
以下是引用a1999zqw在2021-7-19 14:22:49的发言:

看了老半天还是不会。用SET UDFPARMS TO VALUE 原数组数值是保留原有的了,那怎么把计算结果传递给新的数组呢,老师赐教,谢谢。

这样看看应该明
DIMENSION arr[2]
fun(@arr)
?arr[1]
?arr[2]

FUNCTION fun(arr)
    arr[1] = 123
    arr[2] = 456
ENDFUNC
2021-07-19 14:35
快速回复:数组求最大值,平均值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091421 second(s), 9 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved