Re: [问题] 在vector中合并符合条件的element

楼主: descent (“雄辩是银,沉默是金”)   2017-06-07 00:15:31
※ 引述《bulls5566 (公牛5566)》之铭言:
: 开发平台(Platform): (Ex: Win10, Linux, ...)
: Win8.1
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: GCC
: 额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
: NO
: 问题(Question):
: 我最近PYTHON刚转入C++
: 虽说知道C++文字处理相较PYTHON困难
: 但还是想投入,希望能上手
: 我目前卡住了
: 我想把INPUT 变成 OUTPUT那种格式
: 目前已经把INPUT的资料读档丢进vector里
: 想要从Vector中,去处理文字
: 我想要像output那样
: 每一行第一个数字显示这一行共有几组编码
: 例如 1 xy 2 , xy 2 就是一组编码
: 又如 5 R 1004 I 5678 E 2000 R 8002 E 7001
: R 1004 / I 5678 / E 2000 / R 8002 / E 7001 各自都是一组编码
: 但目前发现,空白也是vector一个element,单一的数字也是element,xy中x和y各自都是
: 独立的element
: 想要请问一下如何在vector中,只要element之间没有space,就合并成一个element
: 例如 x和y合并 / 1 0 0 4 合并成1004
: 而且又要排成output的格式
: 也就是每个文字之间都空一格
: 喂入的资料(Input):
: 1
: xy 2
: 2 z xy
你好, 我看不懂规则,
首行的 1 抓 xy 2,
手行 2 抓 z xy,
怎么区分 1 和 2 的差别?
: 5 R 1004 I 5678
: E 2000 R
: 8002 E 7001 0 1 z
这首行是 8002 不就要抓 8002 个编码?
: 6 R 8001 E 1000 E
: 1000 E 3000 R 1002 A 1010
: 0
: 1
: z
: 2
: R
: 5001
: E 4000
: 1 z 2
: 2
: xy z
: 3 A 8000
: E 1001 E 2000
: 预期的正确结果(Expected Output):
: 1 xy 2
: 2 z xy
: 5 R 1004 I 5678 E 2000 R 8002 E 7001
: 0
: 1 z
: 6 R 8001 E 1000 E 1000 E 3000 R 1002 A 1010
: 0
: 1 z
: 2 R 5001 E 4000
: 1 z 2
: 2 xy z
: 3 A 8000 E 1001 E 2000
: 错误结果(Wrong Output):
作者: hunandy14 (Charlott.HonG)   2017-06-07 01:14:00
从正确结果来看比较容易理解,就是项目有英文数字但是数字不是必要的,有可能没有开头为1就代表后面至少有1组英文,但不一定带数字
作者: moebear (萌熊)   2017-06-07 02:26:00
我觉得这输入资料满难处理的 第一行没东西 2/3行的2难辨
作者: libertyleave (SSLin)   2017-06-09 10:42:00
这困难点就在于编码数字不是必要

Links booklink

Contact Us: admin [ a t ] ucptt.com