回复:50个数据找出大于零的数?

RENHQ

西门子1847工业学习平台

  • 帖子

    13802
  • 精华

    61
  • 被关注

    2185

论坛等级:至圣

注册时间:2008-12-28

钻石 钻石 如何晋级?

发布于 2017-01-13 15:16:16

12楼

越发的感觉自己编程水平太低了,这个程序折腾了一个多小时....

DB1定义了两个数组,DF 0 ---50是数据来源   DTO 0---50是排序后的数据,都是整数型

TM TI TMP1是定义的整数型临时变量

//选出大于0的数字

#TM := 0;

FOR #TI := 0 TO 49 DO

    IF "DB1".DF[#TI]>0 THEN

        "DB1".DTO[#TM] := "DB1".DF[#TI];

        #TM := #TM + 1;

    END_IF;

END_FOR;

// 冒泡对选出来的数据排序,从大到小

FOR #TI := 0 TO 49 DO

    IF "DB1".DTO[#TI] > 0 THEN

        FOR #TM := #TI TO 49 DO

            IF "DB1".DTO[#TI] < "DB1".DTO[#TM] THEN

                #TMP1 := "DB1".DTO[#TI];

                "DB1".DTO[#TI] := "DB1".DTO[#TM];

                "DB1".DTO[#TM] := #TMP1;

            END_IF;

        END_FOR;

    ELSE

        EXIT;

    END_IF;

END_FOR;


Q群:https://jq.qq.com/?k=9BDuEgf6
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15549条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。