| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1531 人关注过本帖
标题:求助:如何比较N个数的大小
只看楼主 加入收藏
wys9425sy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:4 
求助:如何比较N个数的大小
用D如何得出N个数中的最大最小值.望给出源码.我是一个初学者.谢谢.
搜索更多相关主题的帖子: 如何 
2008-06-21 21:06
wwuse2006
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-6-21
收藏
得分:0 
很好解决的,给你写个例子自己看吧!
procedure TForm1.Button1Click(Sender: TObject);
var vData:array of integer;
    temp:integer;
    Function FindMaxValues(var vData:array of integer):integer;
    var temp:integer;
    begin
       result:=0;
       for temp:=0 to high(vData) do
           if vData[temp]>result then result:=vData[temp];
    end;
    Function FindMinValues(var vData:array of integer):integer;
    var temp:integer;
    begin
       result:=0;
       for temp:=0 to high(vData) do
           if vData[temp]<result then result:=vData[temp];
    end;
begin
  {定义10个数,给它赋初值,具体值自己给}
  setlength(vData,10);
  for temp:=0 to high(vData) do
      vData[temp]:=temp;
  showmessage(inttostr(FindMaxValues(vData)));
  showmessage(inttostr(FindMinValues(vData)));
end;
2008-06-21 21:42
wys9425sy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-1
收藏
得分:0 
谢谢.过程就是把最大的赋值给变量,循环一遍就得出来了.
我真傻!!
2008-06-21 22:03
provoke
Rank: 2
来 自:广州
等 级:新手上路
威 望:5
帖 子:175
专家分:0
注 册:2007-6-14
收藏
得分:0 
2楼的两个函数都有错,错在返回结果的赋初值:

       result:=0;                  //错在这里

找最大,如果待查找的数组成员全是负数,就会返回0:错误;

找最小,如果待查找的数组成员全是正数,同样也是返回0:错误;

对于上述两种情况,返回值0均不是数组成员。

改进建议

       result:=vData[0];

至于作数组下标的循环变量初值,为1和为0均没有太大的影响,不过可以省略比较 vData[0]

[[it] 本帖最后由 provoke 于 2008-6-22 13:36 编辑 [/it]]

爱我至爱,至死不渝!
2008-06-22 13:32
coolvirus
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-10-12
收藏
得分:0 
provoke说得好!
2008-07-15 19:33
快速回复:求助:如何比较N个数的大小
数据加载中...
 
   



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

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