矩阵基本操作算法

题目描述:

复制代码
题目描述
根据主函数和头文件提示,编写子函数

void matrixInput(int (*mat)[COL]);
void matrixPrint(int *mat[ROW]);
void matrixAddT(int *mat);
​
分别实现矩阵的输入,输出,与自身的转置相加:

void matrixInput(int (*mat)[COL]);: 输入int类型的矩阵元素,用方阵mat存储;
void matrixPrint(int *mat[ROW]); :输出方阵mat中的各个元素;
void matrixAddT(int *mat); :计算方阵mat与自身转置的和,结果存储在mat中。
Hint:请注意三个子函数的传入参数类型各不相同。

输入格式
输入一个三行三列的方阵 A,每个元素均为 int 类型。

输出格式
输出一个三行三列的方阵 B,每个元素均为 int 类型,B=A+A 
T
 。

输入样例1
1 2 3
4 5 6
7 8 9
​
输出样例1
2 6 10 
6 10 14 
10 14 18 
​
输入样例2
0 1 0
1 0 0
0 0 -1
​
输出样例2
0 2 0 
2 0 0 
0 0 -2 
​

算法:

思路:

利用上三角遍历,实现矩阵转置相加

代码实现:
cpp 复制代码
# include<stdio.h>
# include<stdlib.h>
# include<string.h>
# include<ctype.h>
#define ROW 3
#define COL 3

void matrixInput(int (*mat)[COL]){
    for(int i=0;i<3;i++){
        for(int j=0;j<3;j++){
            //输入
            scanf("%d",&mat[i][j]);
        }
    }
}
void matrixPrint(int *mat[ROW]){    
    for(int i=0;i<3;i++){
        for(int j=0;j<3;j++){
            //打印输出
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }
}
void matrixAddT(int *mat){
    int temp;
    for(int i=0;i<3;i++){
        for(int j=i;j<3;j++){//遍历上三角
            if(i==j){//对角线上的加自身
                *(mat+i*3+j)+=*(mat+i*3+j);
            }
            else{
                temp=*(mat+i*3+j);//记录原值
                *(mat+i*3+j)+=*(mat+j*3+i);//上边的要加下边
                *(mat+j*3+i)+=temp;//下边要加上边的
            }
        }
    }
}
相关推荐
潇冉沐晴1 小时前
DP——背包DP
算法·背包dp
逆境不可逃2 小时前
LeetCode 热题 100 之 543. 二叉树的直径 102. 二叉树的层序遍历 108. 将有序数组转换为二叉搜索树 98. 验证二叉搜索树
算法·leetcode·职场和发展
计算机安禾2 小时前
【数据结构与算法】第19篇:树与二叉树的基础概念
c语言·开发语言·数据结构·c++·算法·visual studio code·visual studio
副露のmagic2 小时前
哈希章节 leetcode 思路&实现
算法·leetcode·哈希算法
csuzhucong2 小时前
puzzle(1037)黑白、黑白棋局
算法
XiYang-DING2 小时前
【LeetCode】链表 + 快慢指针找中间 | 2095. 删除链表的中间节点
算法·leetcode·链表
Zarek枫煜3 小时前
[特殊字符] C3语言:传承C之高效,突破C之局限
c语言·开发语言·c++·单片机·嵌入式硬件·物联网·算法
寻寻觅觅☆3 小时前
东华OJ-基础题-30-求最晚和最早日期(C++)
数据结构·c++·算法
羊小蜜.3 小时前
Mysql 03: 连接查询全解——内连接、外连接与复合条件查询
数据库·mysql·算法·连接查询
vivo互联网技术4 小时前
CVPR 2026 | C²FG:用分数差异分析提高条件生成中CFG的引导
人工智能·算法·aigc