| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1304 人关注过本帖
标题:Help:用findmax函数求出数组中 最大元素 在数组中的下标
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:15 
clear
dime a(10)
for i=1 to 10
    a(i)=int(rand()*100+1)
endfor
for i=1 to 10
    ??a(i)
endfor
c=findmax(@a)
?c
set talk on
cancel

function findmax (g)
    k=0
    max0=g(1)&&报错。找不到g.prg,明明是数组,咋报错程序文件呢?
    for i=2 to 10
        if max0<g(i)
            max0=g(i)
            k=i
        endif
    endfor
    return k
endfunc
用传址的方式传递参数,可以避免错误发生
注意:@的用法

坚守VFP最后的阵地
2013-03-13 15:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
11楼的能通过测试

DO IT YOURSELF !
2013-03-13 15:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:5 
Visual FoxPro 9.0
如何按引用方式传递数据给参数
请参阅
 
你可以通过一个程序或在特定位置按引用方式传递参数。

若要通过一个程序按引用方式传递参数
在需要按引用方式将数据传递给参数的代码前面,使用下列代码行:

  复制代码
SET UDFPARMS TO REFERENCE
 

更多的信息,请参见 SET UDFPARMS 命令。


若要在特定位置按引用方式传递参数
在变量或数组名前用一个(@)前缀,显示如下示例中:

  复制代码
myFunc(@var1, var2)
 


请参阅

坚守VFP最后的阵地
2013-03-13 15:41
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
function findmax
    para g
上面的能编译

而下面的则不能编译 why???
function findmax
    para g(10)

DO IT YOURSELF !
2013-03-13 15:42
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用wp231957在2013-3-13 15:42:23的发言:

function findmax
    para g
上面的能编译

而下面的则不能编译 why???
function findmax
    para g(10)
在接收参数的时候无法定义数组的。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-03-13 15:58
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 15楼 hu9jj
还是c好

DO IT YOURSELF !
2013-03-13 15:59
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
引用方式的 数组参数,在编译是会报错的,说找不到变量,可以点  “忽略” 跳过。


[ 本帖最后由 kiff 于 2013-3-13 16:12 编辑 ]
2013-03-13 16:06
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用kiff在2013-3-13 16:06:43的发言:

引用方式的 数组参数,在编译是会报错的,说找不到变量,可以点  “忽略” 跳过。
单纯就这个事例,可以不考虑传递参数到函数,直接在函数中引用外部定义的数组,问题就可以轻松解决,只不过是不规范而已。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-03-13 16:50
xgekq
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-13
收藏
得分:0 
回复 13楼 sdta
Good job.
2013-03-13 16:52
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
以下是引用hu9jj在2013-3-13 16:50:50的发言:

单纯就这个事例,可以不考虑传递参数到函数,直接在函数中引用外部定义的数组,问题就可以轻松解决,只不过是不规范而已。
在VFP 我极少用到数组,觉得 CURSOR 临时表 很好用, 也是VFP特长之一.
2013-03-13 16:59
快速回复:Help:用findmax函数求出数组中 最大元素 在数组中的下标
数据加载中...
 
   



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

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