开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 770|回复: 7
收起左侧

[已解决] 数字替换符号及统计次数,求助

 关闭 [复制链接]
结帖率:100% (60/60)
发表于 2023-12-10 19:03:39 | 显示全部楼层 |阅读模式   河南省郑州市
6精币
以下是原文本:
12|71 89 20 01 12
23|26 98 52 63 63
34|58 69 63 23 89
45|52 36 20 45 22
56|63 66 99 88 15
67|12 85 96 76 21

求实现1:每一行竖线左边2个数字在右边对应找到后,用1个符号替换掉右边二码,
如下例子:
12|*   89  *  *  * <-----只要含有1、2的二码用*替换掉
23|*   98  *  *  *
34|58 69  *  *  89
45|*   36 20 *  22
56|*   *   99 88 *
67|12 85  *  *   21

求实现2:*符号在每一竖列中出现几次,把数量统计出来。
如下例子:
12|*   89  *  *  *
23|*   98  *  *  *
34|58 69  *  *  89
45|*   36 20 *  22
56|*   *   99 88 *
67|12 85  *  *  21
                              如第1列有4个*、第2列有1个*...
     4   1   4   5  3   <-----求出符号所出现的次数


最佳答案

查看完整内容

还是在我的源码上改的,你的源码,再去分析,头痛。

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:78% (18/23)
发表于 2023-12-10 19:03:40 | 显示全部楼层   浙江省嘉兴市
还是在我的源码上改的,你的源码,再去分析,头痛。 文本判断易友.e (5.01 KB, 下载次数: 7)

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:78% (18/23)
发表于 2023-12-10 19:38:53 | 显示全部楼层   浙江省嘉兴市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
集_文本文本型0 

子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
局_文本文本型 
temp1_文本型2
i整数型 
n整数型 
局_列计数整数型5
局_文本 = 子文本替换 ( #常量1, “|”, “ ”, , , )
局_文本 = 子文本替换 (局_文本, #换行符, “ ”, , , )
集_文本 = 分割文本 (局_文本, “ ”, )
重定义数组 (集_文本, 真, 取数组成员数 (集_文本) ÷ 6, 6)
计次循环首 (取数组下标 (集_文本, ), i)
temp1_ [1]取文本左边 (集_文本 [i] [1], 1)
temp1_ [2]取文本右边 (集_文本 [i] [1], 1)
变量循环首 (2, 6, 1, n)
如果真 (寻找文本 (集_文本 [i] [n], temp1_ [1], , ) ≠ -1 寻找文本 (集_文本 [i] [n], temp1_ [2], , ) ≠ -1)
集_文本 [i] [n]“*”
局_列计数 [n - 1] = 局_列计数 [n - 1] + 1

变量循环尾 ()
计次循环尾 ()
调试输出 (集_文本)
调试输出 (局_列计数)


i支持库列表   支持库注释   
spec特殊功能支持库


开始运行被调试程序
* 数组:6*6{“12”,“*”,“89”,“*”,“*”,“*”,“23”,“*”,“98”,“*”,“*”,“*”,“34”,“58”,“69”,“*”,“*”,“89”,“45”,“*”,“36”,“20”,“*”,“22”,“56”,“*”,“*”,“99”,“88”,“*”,“67”,“12”,“85”,“*”,“*”,“21”}
* 数组:5{4,1,4,5,3}
被调试易程序运行完毕

回复

使用道具 举报

结帖率:99% (78/79)
发表于 2023-12-10 20:31:21 | 显示全部楼层   河南省洛阳市
文本判断.e (954.49 KB, 下载次数: 5)
回复

使用道具 举报

结帖率:100% (60/60)
 楼主| 发表于 2023-12-10 21:04:57 | 显示全部楼层   河南省郑州市
感谢  @走一回 老师的帮助,目标完全实现!但是我也很苦恼,这个代码我看不懂也拆不开,老师写的逻辑严谨浑然一体,我就像学前班去拆分大学论文复制粘贴都难实现,不是代码的问题更不是注释问题主要是我水平有限,只能识别我认识的一些代码才能拆分所用,再次感谢老师,我先收藏了以后能力提升了在研究。我在另求助一次,两个目标分两次实现。
回复

使用道具 举报

发表于 2023-12-10 21:54:21 | 显示全部楼层   浙江省丽水市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
次数文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
text_1文本型0
i整数型 
temp文本型0
校验文本文本型0
被校验文本文本型0
ii整数型 
iii整数型 
校验结果逻辑型 
temp_text文本型 
校验结果_文本型0
text_1 = 分割文本 ( #常量1, #换行符, )
计次循环首 (取数组成员数 (text_1), i)
清除数组 (校验文本)
清除数组 (被校验文本)
清除数组 (校验结果_)
temp = 分割文本 (text_1 [i], “|”, )
文本_逐字分割 (temp [1], 校验文本)
被校验文本 = 分割文本 (temp [2], “ ”, )
加入成员 (校验结果_, temp [1])
计次循环首 (取数组成员数 (被校验文本), ii)
校验结果 = 假
计次循环首 (取数组成员数 (校验文本), iii)
如果真 (寻找文本 (被校验文本 [ii], 校验文本 [iii], , ) ≠ -1)
校验结果 = 真
跳出循环 ()

计次循环尾 ()
temp_text = 被校验文本 [ii]
如果真 (校验结果 = )
temp_text = “* ”
加入成员 (校验结果_, temp_text)
计次循环尾 ()
输出数据 (校验结果_)
统计次数 (校验结果_)
计次循环尾 ()
编辑框1.加入文本 (次数)
子程序名返回值类型公开备 注
输出数据  
参数名类 型参考可空数组备 注
数组文本型
变量名类 型静态数组备 注
num双精度小数型 
i整数型 
temp文本型 
num = 取数组成员数 (数组) - 1
temp = 数组 [1]“|”
计次循环首 (num, i)
temp = temp + “ ” + 数组 [i + 1]
计次循环尾 ()
编辑框1.加入文本 (temp + #换行符 )
子程序名返回值类型公开备 注
统计次数  
参数名类 型参考可空数组备 注
数组文本型
次数 = 次数 + “ ”到文本 (数组_取次数 (数组, “* ”))



补充内容 (2023-12-10 22:53):
搞错了 我成是行了
回复

使用道具 举报

结帖率:100% (2/2)
发表于 2023-12-10 23:19:17 | 显示全部楼层   河南省平顶山市
帮大佬加上注释,水平有限,如有错误敬请谅解
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
局_文本文本型 
temp1_文本型2
i整数型 
n整数型 
局_列计数整数型5
局_文本 = 子文本替换 ( #常量1, “|”, “ ”, , , ) ‘把 | 替换为 空格
局_文本 = 子文本替换 (局_文本, #换行符, “ ”, , , )  ' 把 换行符 替换为 空格
' 到此 原文本全部为空格分隔的 2位数字
集_文本 = 分割文本 (局_文本, “ ”, ) ‘按空格分隔 存入数组中 此时为一维数组
重定义数组 (集_文本, 真, 取数组成员数 (集_文本) ÷ 6, 6) ’把数组转为二维数组 维数1为行数 ,维数2为每行数字个数,其中下标1为竖线左侧数字,2-6为竖线右侧数字
计次循环首 (取数组下标 (集_文本, ), i) ' 按行数还是循环  变量I代表行数
temp1_ [1]取文本左边 (集_文本 [i] [1], 1) ‘竖线左侧数字第一位
temp1_ [2]取文本右边 (集_文本 [i] [1], 1)‘竖线左侧数字第二位
变量循环首 (2, 6, 1, n)  ' 循环 数组第2到第6个,即循环竖线右侧数字
如果真 (寻找文本 (集_文本 [i] [n], temp1_ [1], , ) ≠ -1 寻找文本 (集_文本 [i] [n], temp1_ [2], , ) ≠ -1)‘判断是否有出现
' 有数字出现
集_文本[i][n]“*”’将原数字换为*号
局_列计数 [n - 1] = 局_列计数 [n - 1] + 1  ' 将此列出现*号的次数+1

变量循环尾 ()
计次循环尾 ()
调试输出 (集_文本)
调试输出 (局_列计数)


i支持库列表   支持库注释   
spec特殊功能支持库
回复

使用道具 举报

发表于 2023-12-10 23:34:51 | 显示全部楼层   浙江省丽水市
  
变量名类 型静态数组备 注
按行分割文本型0
i整数型 
temp文本型0
校验文本文本型0
被校验文本文本型0
ii整数型 
iii整数型 
校验结果逻辑型 
temp_text文本型 
校验结果_文本型0
x整数型 
y双精度小数型 
z整数型 
zz整数型 
次数整数型 
按行分割 = 分割文本 ( #常量1, #换行符, )  ' 按行分割
计次循环首 (取数组成员数 (按行分割), i)
清除数组 (校验文本)
清除数组 (被校验文本)  ' 清空数组
temp = 分割文本 (按行分割 [i], “|”, )  ' 分割出校验的数据和被校验数据
文本_逐字分割 (temp [1], 校验文本)
被校验文本 = 分割文本 (temp [2], “ ”, )
如果真 (i = 1)  ' 根据行列数定义数组
重定义数组 (校验结果_, 假, 取数组成员数 (按行分割), 取数组成员数 (被校验文本) + 1)
校验结果_ [i] [1] = temp [1]  ' 存放校验数据到每一行第一个数组
计次循环首 (取数组成员数 (被校验文本), ii)  ' 取出每一行的每一个被校验数据
temp_text = 被校验文本 [ii]
计次循环首 (取数组成员数 (校验文本), iii)  ' 取出每一个校验数据的字符
如果真 (寻找文本 (被校验文本 [ii], 校验文本 [iii], , ) ≠ -1)  ' 如果存在校验字符 直接返回,并标记位“*”
temp_text = “* ”
跳出循环 ()

计次循环尾 ()
校验结果_ [i] [ii + 1] = temp_text  ' 存入结果数据
计次循环尾 ()
计次循环尾 ()
x = 取数组成员数 (按行分割)  ' 判断行数、列数
y = 取数组成员数 (校验结果_) ÷ x
计次循环首 (x, z)  ' 输出替换结果
计次循环首 (y, zz)
编辑框1.加入文本 (校验结果_ [z] [zz])
如果 (zz = 1)
编辑框1.加入文本 (“|”)
编辑框1.加入文本 (“ ”)

计次循环尾 ()
编辑框1.加入文本 ( #换行符 )
计次循环尾 ()
编辑框1.加入文本 (“   ”)
计次循环首 (y - 1, z)  ' 输出次数
次数 = 0
计次循环首 (x, zz)
如果真 (校验结果_ [zz] [z + 1]“* ”)
次数 = 次数 + 1

计次循环尾 ()
编辑框1.加入文本 (到文本 (次数)“  ”)
计次循环尾 ()



补充内容 (2023-12-10 23:35):
如果行、列固定,校验数据位数固定,可以节省很多代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /1 下一条

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表