C++如何将一维数组转为多维数组后再与另一个一维数组进行比较?
有两个TXT文件,里面分别装有多行一维数组。现在要把TXT1里面的一维数组转为多维数组后在与TXT2里面的一维数组进行比较,把不相同的输出到一个新的TXT文件里。例如:T...
有两个TXT文件,里面分别装有多行一维数组。
现在要把TXT1里面的一维数组转为多维数组后在与TXT2里面的一维数组进行比较,把不相同的输出到一个新的TXT文件里。
例如:
TXT1里的一维数组如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 37 33 39 36 38
要把它转成
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
34 35 37 33 39 36 38
TXT2里的一维数组如下:
12 28 4 38 25 19 35 8
TXT1转换后的多维数组与TXT2里的一维数组进行比较:
首先是行比较:
12 28 4 38 25 19 35 8 与1 2 3 4 5 6 7 8 比较,只要有一个数相同则认为是相同的。这两组数里面有两个数4,8相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与9 10 11 12 13 14 15 16 比较,这两组数里面有1个数12相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与17 18 19 20 21 22 23 24 比较,这两组数里面有没有相同的数,因此在TXT3中输出H3
12 28 4 38 25 19 35 8 与25 26 27 28 29 30 31 32 比较,这两组数里面有2个数28 25相同,因此在TXT3中无输出。
然后是列比较:
12 28 4 38 25 19 35 8 与1 9 17 25 34比较,这两组数里面有1个数25相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与2 10 18 26 35比较,这两组数里面有没有相同的数,因此在TXT3中输出L2。
12 28 4 38 25 19 35 8 与3 11 19 27 37比较,这两组数里面有1个数19相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与4 12 20 28 33比较,这两组数里面有1个数4相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与5 13 21 29 39比较,这两组数里面有没有相同的数,因此在TXT3中输出L5。
12 28 4 38 25 19 35 8 与6 14 22 30 36比较,这两组数里面有没有相同的数,因此在TXT3中输出L6。
12 28 4 38 25 19 35 8 与7 15 23 31 38比较,这两组数里面有没有相同的数,因此在TXT3中输出L7。
12 28 4 38 25 19 35 8 与8 16 24 32比较,这两组数里面有没有相同的数,因此在TXT3中输出L8。
TXT3的输出格式为:
第一行比较后结果:H3 L2L5L6L7
以此类推,直到TXT1的第一行一维数组与TXT2里面的每一行数组比较完后,再跳到第二行再与TXT2里面的每一行数组比较,完了以后,再跳到第三行,再与TXT2里面的每一行数组比较。
示意图: 展开
现在要把TXT1里面的一维数组转为多维数组后在与TXT2里面的一维数组进行比较,把不相同的输出到一个新的TXT文件里。
例如:
TXT1里的一维数组如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 37 33 39 36 38
要把它转成
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
34 35 37 33 39 36 38
TXT2里的一维数组如下:
12 28 4 38 25 19 35 8
TXT1转换后的多维数组与TXT2里的一维数组进行比较:
首先是行比较:
12 28 4 38 25 19 35 8 与1 2 3 4 5 6 7 8 比较,只要有一个数相同则认为是相同的。这两组数里面有两个数4,8相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与9 10 11 12 13 14 15 16 比较,这两组数里面有1个数12相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与17 18 19 20 21 22 23 24 比较,这两组数里面有没有相同的数,因此在TXT3中输出H3
12 28 4 38 25 19 35 8 与25 26 27 28 29 30 31 32 比较,这两组数里面有2个数28 25相同,因此在TXT3中无输出。
然后是列比较:
12 28 4 38 25 19 35 8 与1 9 17 25 34比较,这两组数里面有1个数25相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与2 10 18 26 35比较,这两组数里面有没有相同的数,因此在TXT3中输出L2。
12 28 4 38 25 19 35 8 与3 11 19 27 37比较,这两组数里面有1个数19相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与4 12 20 28 33比较,这两组数里面有1个数4相同,因此在TXT3中无输出。
12 28 4 38 25 19 35 8 与5 13 21 29 39比较,这两组数里面有没有相同的数,因此在TXT3中输出L5。
12 28 4 38 25 19 35 8 与6 14 22 30 36比较,这两组数里面有没有相同的数,因此在TXT3中输出L6。
12 28 4 38 25 19 35 8 与7 15 23 31 38比较,这两组数里面有没有相同的数,因此在TXT3中输出L7。
12 28 4 38 25 19 35 8 与8 16 24 32比较,这两组数里面有没有相同的数,因此在TXT3中输出L8。
TXT3的输出格式为:
第一行比较后结果:H3 L2L5L6L7
以此类推,直到TXT1的第一行一维数组与TXT2里面的每一行数组比较完后,再跳到第二行再与TXT2里面的每一行数组比较,完了以后,再跳到第三行,再与TXT2里面的每一行数组比较。
示意图: 展开
3个回答
展开全部
更多追问追答
追问
由于字数受限制,我做成图片了补充在问题里。
展开全部
挺复杂的,明天再做
追问
在吗?
追答
what?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个1维数组转2维时有没要求多少行多少列?还是根据数组个数取最佳方阵?这个是最核心的,会直接影响比较数组的结果。解决不了再联系我吧。
追问
是的,是根据数组中个数取最佳方阵。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询