祝贺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

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

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