當前位置:首頁 » 編程語言 » 矩陣相加c語言

矩陣相加c語言

發布時間: 2023-08-25 08:12:36

c語言 求矩陣各行各列的和

思路:求矩陣各行的和時,矩陣的行先不變,利用for循環依次遍歷該行的每一列元素累加求和;求矩陣各列的和時,矩陣的列先不變,利用for循環依次遍歷該列的每一行元素累加求和。

參考代碼:

#include<stdio.h>
intSr(inta[3][5],intn)//求矩陣n行的累加和
{
inti,j,c=0;
for(j=0;j<5;j++)
c+=a[n][j];
returnc;
}
intSc(inta[3][5],intn)//求矩陣n列的累加和
{
inti,j,c=0;
for(i=0;i<3;i++)
c+=a[i][n];
returnc;
}

intmain()
{
inti,j,a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6};
for(i=0;i<3;i++){
for(j=0;j<5;j++)
printf("%d",a[i][j]);
printf(" ");
}

printf("各行的累加和為: ");
for(i=0;i<3;i++)
printf("%d",Sr(a,i));
printf(" 各列的累加和為: ");
for(i=0;i<5;i++)
printf("%d",Sc(a,i));
return0;
}
/*
輸出:
13579
246810
35876
各行的累加和為:
253029
各列的累加和為:
612192225
*/

⑵ 用C語言編寫程序(兩個矩陣相加)

用C語言編寫程序(兩個矩陣相加)代碼如下:

/**

MatrixAddition.c

實現兩個矩陣相加

*/

#include<stdio.h>

const int COLS=3;

void printMatirx(int *pArray,int rows,int cols);

void printMatirx2(int (*pArray)[COLS],int rows);

int main()

{

int A[3][4]={{15,10,9,12},

{18,14,8,7},

{16,13,6,11}};

printf("矩陣A= ");

printMatirx(A,3,4);

int B[3][4]={{4,3,5,2},

{0,9,6,1},

{5,7,2,6}};

printf("矩陣B= ");

printMatirx(B,3,4);

int C[3][4];

int i,j;

//矩陣相加:兩個矩陣必須行數和列數一樣才能相加,

//和矩陣的每個元素分別是兩個矩陣對應的元素的和

printf("矩陣A+矩陣B= ");

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

C[i][j]=A[i][j]+B[i][j];

//printf("%3d",C[i][j]);//輸出結果

}

// printf(" ");

}

int (*p)[COLS]=C;

printMatirx2(p,3);

/*結果應為:

19 13 14 14

18 23 14 8

21 20 8 17

*/

printf("矩陣C-矩陣A= ");

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

printf("%3d",C[i][j]-A[i][j]);//輸出結果

}

printf(" ");

}

/*結果應為:

4 3 5 2

0 9 6 1

5 7 2 6

*/

//矩陣數乘:

int D[3][4];

printf("矩陣D: ");

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

D[i][j]=1;

printf("%d ", D[i][j]);//輸出結果

}

printf(" ");

}

int mul;

printf("矩陣D數乘以:");

scanf("%d",&mul);

printf("矩陣D數乘以%d= ",mul);

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

D[i][j]=D[i][j]*mul;

printf("%d ", D[i][j]);//輸出結果

}

printf(" ");

}

return 0;

}

(2)矩陣相加c語言擴展閱讀:

C語言矩陣加減法函數:

void matrix_a(double **a_matrix, const double **b_matrix, const double **c_matrix,int krow, int kline, int ktrl)

////////////////////////////////////////////////////////////////////////////

// a_matrix=b_matrix+c_matrix

// krow :行數

// kline :列數

// ktrl :大於0: 加法 不大於0:減法

////////////////////////////////////////////////////////////////////////////

{

int k, k2;

for (k = 0; k < krow; k++)

{

for(k2 = 0; k2 < kline; k2++)

{

a_matrix[k][k2] = b_matrix[k][k2]

+ ((ktrl > 0) ? c_matrix[k][k2] : -c_matrix[k][k2]);

}

}

}

⑶ 如何用C語言編程實現矩陣相加、相乘

矩陣相加會簡單點,設a[2][3]和b[2][3],只要在相應的地方相加就行了,
for(i=0;i<2;i++)
for(j=0;j<3;j++)
c[i][j]=a[i][j]+b[i][j];

兩矩陣相乘,
int a[][3]={1,2,3,4,5,6,7,8,9};//A為N×P矩陣,
//假設是3*3的矩陣
int b[][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
//B為P×M矩陣,假設是3*5的矩陣
int c[3][5]={0};//結果矩陣3*5
for(int i=0;i<3;i++)
for(int j=0;j<5;j++)
for(int k=0;k<3;k++)
c[i][j]+=a[i][k]*b[k][j];

⑷ C語言中求兩個矩陣的和

C語言中求兩個矩陣的和具體如下:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void main()

{

int a[3][3];

int b[3][3];

int i,j,c,x;

printf(" 求兩個矩陣之和 ");

printf("請選擇輸入方式 ");

printf("0為隨機自主輸入,1為人工輸入 ");

scanf("%d",&x);

if(x==1)

{

printf("請輸入兩個3*3矩陣,以回車結束每個數字的輸入 ");

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

printf("a[%d][%d]=",i,j);

scanf("%d",&a[i][j]);

}

}

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

printf("b[%d][%d]=",i,j);

scanf("%d",&b[i][j]);

}

}

}

if(x==0)

{

srand((unsigned int)time(NULL));

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

a[i][j]=rand()%100+1;

}

}

for(i=0;i<=2;i++)

{
for(j=0;j<=2;j++)

{

printf("a[%d][%d]=",i,j);

printf("%d ",a[i][j]);
}
}

srand((unsigned int)time(NULL));

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

b[i][j]=rand()%100+1;

}

}

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

printf("b[%d][%d]=",i,j);

printf("%d ",b[i][j]);

}

}

}

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

c=a[i][j]+b[i][j];

printf(" %d ",c);

}

}

}

熱點內容
linux解壓bin 發布:2025-03-15 19:40:25 瀏覽:383
存儲數據為什麼只能使用兩種狀態 發布:2025-03-15 19:40:21 瀏覽:263
平方的運演算法則 發布:2025-03-15 19:38:57 瀏覽:970
江蘇省蘇州市社保卡初始登錄密碼是多少 發布:2025-03-15 19:38:55 瀏覽:514
安卓主板哪裡有賣 發布:2025-03-15 19:26:10 瀏覽:31
Q9源碼 發布:2025-03-15 19:24:21 瀏覽:177
芬蘭編程教育 發布:2025-03-15 18:59:46 瀏覽:427
網際網路的伺服器地址 發布:2025-03-15 18:53:01 瀏覽:893
手機實體店什麼配置好 發布:2025-03-15 18:32:35 瀏覽:170
攜帶型電腦的原始密碼是什麼 發布:2025-03-15 18:25:52 瀏覽:798