问题描述:
有一个文本文件保存了9*9矩阵数据
通过回车换行分隔行
行内通过,分隔元素
1-9的数字是有效元素,其他内容都认为是空
要求
1. 实现矩阵转置
2. 矩阵内元素如果是数字进行1-9,2-8,3-7,4-6互相映射,即如果原来数字是1,改成9,如果是9改成1
下面是矩阵
, , , ,1, , ,3,
5, ,4, , , , , ,
, , , ,5,3,8, ,9
,8,9, , , , , ,
, , , , ,1,6, ,
, , ,5,9, ,3,1,
,6, ,8, , ,9, ,
8,4,1, , , , , ,
2, , , ,6, , , ,7
问题分析
本来拿到这个问题以为很简单的问题,强行给他二维数组撸一遍就ok了。纸上得来终觉浅,绝知此事要躬行。
让我们捋一下这个问题实际包含的问题
- 从文本中读入代码中(一维数组)
- 将一维数组转换成二维数组
- 数组转置规律的总结
- 总结映射关系
问题解决
第一步第二步比较简单就不在这里赘述了
转置规律:
这个9*9的字符数组,确实不太好找规律,并且还带','字符。这一部分其实不算是代码问题了,而是数学问题,的归纳总结。
这个时候我们就要把这个数组进行简化
简化成二维数组:
从最简单的字符数组去发现规律