5.5.3  特殊矩阵问题

5.5.3 特殊矩阵问题

【例5-12】定义一个10×10矩阵,并将矩阵左下三角形元素(左上角到右下角对角线下面的所有元素)均设置为1,其他元素均为0,然后输出到窗体上。

图示做什么

1)将矩阵左下三角形元素均设置为1。

2)输出矩阵。

所以窗体上只需要一个按钮即可。

图示怎么做

分析:观察左下三角形元素行号i、列号j存在什么规律。采用从具体到抽象的方法,给出i,j对应关系见表5-5。

表5-5 左下三角形元素i,j对应关系

图示

(续)

图示

步骤描述如下。

1)定义整型数组a(10,10)。

2)初始化i值为1。

3)判断i,如果i<=10,则向下执行;否则执行第9)步。

4)初始化j值为1。

5)判断j,如果j小于等于10,则向下执行;否则执行第8)步。

6)如果j<=i,则a(i,j)=1。(https://www.daowen.com)

7)j值增1,返回第5)步。

8)i值增1,返回第3)步。

9)用两重循环输出整个数组。

图示实现

完整代码如下。

图示

运行结果如图5-13所示。

图示

图5-13 设置左下三角形区域元素

在j循环中,当j>i时,程序没有进行任何操作,所以右上三角区域为0部分是不用遍历的。总结j的变换范围,它是与i有关的。j的有效范围总是从1开始,到等于i结束,后面就是空循环了。所以程序可以修改如下。

图示

相同道理,设置右上三角形区域元素的部分代码如下。

图示

设置左上三角形区域元素的部分代码如下。

图示

设置右下三角形区域元素的部分代码如下。

图示