m0_63345541 2021-10-23 16:53 采纳率: 50%
浏览 65
已结题

祝贺1024,请大大赐程序代码 C++

请大大赐程序代码,如图
可以直接编译的完整代码

img

运行环境 :windonw 10
编译系统:C++

需处理元数据情况如下:

文件格式: TXT 文本。
文件名称:12345.txt
数据行数:211876 行
每行字符:3000个字符,每个字符之间是空格隔开
字符元素:字符只包含 0、1、2
数据特点:1、每行的左起首字符为1或2,即大于0;
2、每行的最后的字符为1或2,即大于0;

数据举例: 2 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 1 ·············· 2 0 0 0 0 0 2 (共3000个字符,由空格间隔)

结果举例:100个 6 7 5 ·············· 6 (假设上面数据,有100个大于0的字符的输出结果)
输出结果:1、每行数据大于0的字符的个数的值,
2、从左到右,每行的每两个大于0的字符,相隔的字符个数的值+1;用空格隔开

输出文件:211876 行的结果,保存为txt文本
输出名称:54321.txt

麻烦大神,结果请私信给我,感激万分

  • 写回答

1条回答 默认 最新

  • 江天暮雪丨 2021-10-23 17:18
    关注
    with open('data.txt') as f:
        string  = f.read()
    lines = string.split('\n')
    result = []
    for line in lines:
        count = 0
        dist = []
        last_index = 0
        num_arr = line.split(' ')
        for index, num in enumerate(num_arr):
            if eval(num) > 0:
                count += 1
                if last_index:
                    dist.append(str(index - last_index))
                    last_index = index
                else:
                    last_index = index
        result.append({'count': count , 'dist': dist})
    for res in result:
        print(f'{res["count"]}个 {" ".join(res["dist"])}')
       # todo: output to TXT file
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 修改了问题 10月23日
  • 修改了问题 10月23日
  • 展开全部

悬赏问题

  • ¥40 图书信息管理系统程序编写
  • ¥15 7-1 jmu-java-m02-使用二维数组存储多元线性方程组
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题