数据结构-矩阵的倒置,加法,乘法

博客介绍了矩阵的加法和乘法相关内容,转载自https://www.cnblogs.com/lizhenye/p/10834938.html ,聚焦于信息技术领域中矩阵运算知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.矩阵的倒置
#include<stdio.h> #define N 2 #define M 3 int main(){ int i,j,a[N][M],b[M][N]; //从键盘输入矩阵a for(i=0;i<N;i++){ for(j=0;j<M;j++){ printf("a[%d][%d]= ",i,j); scanf("%d",&a[i][j]); } } //输出矩阵a printf("Array a:\n"); for(i=0;i<N;i++){ for(j=0;j<M;j++){ printf("%5d",a[i][j]); b[j][i]=a[i][j]; } printf("\n"); } //输出矩阵b printf("Array b:\n"); for(i=0;i<M;i++){ for(j=0;j<N;j++){ printf("%5d",b[i][j]); } printf("\n"); } }



2.矩阵的乘法
#include<stdio.h>
  #define M 10
  int main(){
      long int a[M][M], b[M][M], c[M][M]={0};
      int m, n, p, i, j, k;
      printf("请输入数组A的行\n");
      scanf("%d",&m);
      printf("请输入数组A的列\n");
      scanf("%d",&n);
      printf("请输入数组B的行\n");
      scanf("%d",&p);
     printf("Please input array A (%d * %d)\n", m, n);
     for(i=0;i<m;i++){
         for(j=0;j<n;j++){
             scanf("%ld", &a[i][j]);
         }
     }
     printf("Plaese input array B (%d * %d)\n", n, p);
     for(i=0;i<n;i++){
         for(j=0;j<p;j++){
             scanf("%ld", &b[i][j]);
         }
     }
     //A*B=C
     for(i=0;i<m;i++){
         for(j=0;j<p;j++){
             for(k=0;k<n;k++){
                 c[i][j]=c[i][j]+a[i][k]*b[k][j];
             }
         }
     }
 
     printf("A*B= \n");
     for(i=0;i<m;i++){
         for(j=0;j<p;j++){
            printf("%3ld",c[i][j]);
         }
         printf("\n");
     }
 return 0;
 }

 

3.矩阵的加法和乘法

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a[15][15],i,j,k,t,b;
 5     printf("请输入一个3行3列的矩阵:\n");    
 6     for(i=0;i<3;i++)
 7         for(j=0;j<3;j++)
 8             scanf("%d",&a[i][j]);
 9     printf("请输入另一个3行3列的矩阵\n");
10     for(k=0;k<3;k++)
11         for(t=0;t<3;t++)
12             scanf("%d",&a[k+3][t+3]);
13     printf("矩阵【1】\n");
14     for(i=0;i<3;i++){
15             for(j=0;j<3;j++)
16                 printf("%d ",a[i][j]);
17             printf("\n");
18     }
19     printf("矩阵【2】\n");
20     for(i=0;i<3;i++){
21             for(j=0;j<3;j++)
22                 printf("%d ",a[i+3][j+3]);
23             printf("\n");
24     }
25  
26     printf("请选择要进行的运算:1 相加 2 相乘\n");
27     scanf("%d",&b);
28         if(b==1)
29         {
30             printf("相加:\n");
31             for(i=0;i<3;i++)
32                 for(j=0;j<3;j++)
33                     a[i][j]=a[i][j]+a[i+3][j+3];
34             for(i=0;i<3;i++){
35                 for(j=0;j<3;j++)
36                     printf("%d\t",a[i][j]);
37                 printf("\n");}
38         }
39         if(b==2)
40         {
41             printf("相乘:\n");
42             for(i=0;i<3;i++)
43                 for(j=0;j<3;j++)
44                     a[i+6][j+6] = a[i][0]*a[3][j+3] + a[i][1]*a[4][j+3] + a[i][2]*a[5][j+3];
45             for(i=0;i<3;i++){
46                 for(j=0;j<3;j++)
47                     printf("%d\t",a[i+6][j+6]);
48                 printf("\n");
49             }
50         }
51 }

转载于:https://www.cnblogs.com/lizhenye/p/10834938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值