5.5.3 特殊矩阵问题
2025年09月26日
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。
7)j值增1,返回第5)步。
8)i值增1,返回第3)步。
9)用两重循环输出整个数组。
实现
完整代码如下。
运行结果如图5-13所示。
图5-13 设置左下三角形区域元素
在j循环中,当j>i时,程序没有进行任何操作,所以右上三角区域为0部分是不用遍历的。总结j的变换范围,它是与i有关的。j的有效范围总是从1开始,到等于i结束,后面就是空循环了。所以程序可以修改如下。
相同道理,设置右上三角形区域元素的部分代码如下。
设置左上三角形区域元素的部分代码如下。
设置右下三角形区域元素的部分代码如下。