问题标题: 酷町堂:1707 矩阵对角线变换

0
0
已解决
邵逸儒
邵逸儒
中级天翼
中级天翼

1707   矩阵对角线变换

题目描述 Description

输入一个6*6的矩阵(方阵),把矩阵两条对角线上的每个元素的值分别加10,然后输出新矩阵。

输入描述 Input Description

一个6*6的矩阵

输出描述 Output Description

变换后的新6*6的矩阵


0
已采纳
马佳滢
马佳滢
新手天翼
新手天翼
邵逸儒 你好!
0(1,1) 0      0      0      0      0(1,6) 
0      0(2,2) 0      0      0(2,5) 0 
0      0      0(3,3) 0(3,4) 0      0 
0      0      0(4,3) 0(4,4) 0      0
0      0(5,2) 0      0      0(5,5) 0
0(6,1) 0      0      0      0      0 (6,6)

这是我做的一个坐标图。

规矩:if(i==j||i+j==7){
        a[i][j]+=10;
}

马佳滢在2018-02-10 08:38:27追加了内容

    定义 a[7][7];
    for(定义b,从1循环到6){
        for(定义a1,从1循环到6){
            输入a[b][a1];
            判断:b是不是=a1或者b+a1的值是不是=7{
                a[b][a1]+=10;
            }
        }
    }//循环输出
for(……){
        for(……){
            输出a[n][a1]“空格”;
        }输出换行;
    }

1
方亦欧
方亦欧
新手光能
新手光能

这一题的关键就是要找到两条对角线。

拿3*3的方阵举例:

主对角线(从左上到右下)的下标为:1,1;2,2;3,3。如果把行记为i,列记为j,主对角线的特征为:i=j。

副对角线(从右上到左下)的下标为:1,3;2,2;3,1。如果把行记为i,列记为j,副对角线的特征为:i+j=n+1(n为矩阵的行数或列

数)。

知道了这个,代码就不难实现了。

第一步当然是输入。

随后,用双重循环遍历每个下标,在循环里判断,如果满足上面主对角线或副对角线的条件,就将该数组元素加上10。

输出。

代码我就不发了,相信并不难写,也没有什么坑。

望采纳!

 

0
0
0
夏子健
夏子健
初级光能
初级光能

这题关键要找到两条对角线的规律

我要回答