用易语言 取一组数字出现最多的从多到少排列并去重复用易语言取一组数字出现最多的从多到少排列并去重复小弟已苦战一夜,不得解.一组数字按照,出现次数最多,从多到少,并去重复,及从后
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 07:14:59
用易语言 取一组数字出现最多的从多到少排列并去重复用易语言取一组数字出现最多的从多到少排列并去重复小弟已苦战一夜,不得解.一组数字按照,出现次数最多,从多到少,并去重复,及从后
用易语言 取一组数字出现最多的从多到少排列并去重复
用易语言取一组数字出现最多的从多到少排列并去重复
小弟已苦战一夜,不得解.
一组数字按照,出现次数最多,从多到少,并去重复,及从后往前排列
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
编辑框1.内容=“0246856789123570369345656”
结果为:编辑框2.内容=6543072981
用易语言 取一组数字出现最多的从多到少排列并去重复用易语言取一组数字出现最多的从多到少排列并去重复小弟已苦战一夜,不得解.一组数字按照,出现次数最多,从多到少,并去重复,及从后
按你说的排序方法 最后 编辑框2.内容 应该为:6534907281
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 原始字串,文本型
.局部变量 去重复后的字串,文本型
.局部变量 计次变量,整数型
.局部变量 计数数组,整数型,,"10"
.局部变量 逆排去重数组,文本型,,"0"
原始字串 = 编辑框1.内容
计数数组 = { 0,0,0,0,0,0,0,0,0,0 }
.计次循环首 (取文本长度 (原始字串),计次变量)
' 统计每个数字出现的个数
计数数组 [到数值 (取文本中间 (原始字串,计次变量,1)) + 1] = 计数数组 [到数值 (取文本中间 (原始字串,计次变量,1)) + 1] + 1
' 判断字串是否已经存在,不存在则加到字串末尾
.如果真 (寻找文本 (去重复后的字串,取文本中间 (原始字串,取文本长度 (原始字串) - 计次变量 + 1,1),,假) = -1)
去重复后的字串 = 去重复后的字串 + 取文本中间 (原始字串,取文本长度 (原始字串) - 计次变量 + 1,1)
加入成员 (逆排去重数组,取文本中间 (原始字串,取文本长度 (原始字串) - 计次变量 + 1,1))
.如果真结束
.计次循环尾 ()
开始排序 (逆排去重数组,计数数组)
.子程序 开始排序,,,冒泡排序
.参数 待排序数组,文本型,参考 数组
.参数 计数数组,整数型,数组
.局部变量 交换,逻辑型
.局部变量 数组长度,整数型,静态
.局部变量 交换变量,文本型
.局部变量 位置变量,整数型
' 如果不为真,下面不会进入判断循环
交换 = 真
' 也就是下面变量循环第一次的变量目标值
数组长度 = 取数组成员数 (待排序数组)
.判断循环首 (交换 = 真)
交换 = 假
' 比较的次数比数据数量少一
.变量循环首 (1,数组长度 - 1,1,位置变量)
' 前一个数小于后一个数,就将两数的位置交换
.如果真 (计数数组 [到数值 (待排序数组 [位置变量]) + 1] < 计数数组 [到数值 (待排序数组 [位置变量 + 1]) + 1])
交换变量 = 待排序数组 [位置变量]
待排序数组 [位置变量] = 待排序数组 [位置变量 + 1]
待排序数组 [位置变量 + 1] = 交换变量
交换 = 真
.如果真结束
.变量循环尾 ()
数组长度 = 数组长度 - 1
.判断循环尾 ()
.计次循环首 (取数组成员数 (待排序数组),位置变量)
编辑框2.内容 = 编辑框2.内容 + 到文本 (待排序数组 [位置变量])
.计次循环尾 ()
易语言怎么把一个动态数组从大到小排序,如存入数据:2+3+5+6+9,从大(排序完数组, 取数组成员数 (排序完数组) + 1, 待处理数组 [x]) .