❶ 用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;
}
(1)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語言:編寫程序,計算兩個3×4矩陣的和
#include<stdio.h>
int main()
{
int a[3][4],b[3][4],c[3][4];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf(" ");
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&b[i][j]);
printf(" ");
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%d",c[i][j]);
if(j!=3)
printf(" ");
else
printf(" ");
}
return 0;
}
❸ 求兩個矩陣的和(用c語言中的二維數組)
關鍵用到for循環。
❹ 【C語言訓練】求矩陣的兩對角線上的元素之和
#include<stdio.h>
voidmain()
{
floata[3][3],sum=0;
inti,j;
printf("pleaseinputrectangleelement: ");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("ijiaoxianheis%6.2f",sum);
}
(4)c語言求兩矩陣之和擴展閱讀
C語言計算數組元素之和
#include<stdio.h>
intmain(){
intarray[10]={1,2,3,4,5,6,7,8,9,0};
intsum,loop;
sum=0;
for(loop=9;loop>=0;loop--){
sum=sum+array[loop];
}
printf("元素和為:%d",sum);
return0;
}
❺ C語言編程:求兩個矩陣的和(要求用數組)
每個對應的行列加起來就可以了
❻ C語言題,求兩個矩陣的乘積c 已知矩陣a和b的值
定義矩陣a和b
雙重循環, 輸入a和b的值
定義結果矩陣c,並將所有元素賦值為0
三重循環
根據矩陣乘積規則,計算c的每個值。
輸出c
❼ C語言編程問題:兩個矩陣求和
對一位數組,不知道數組大小可以這樣做:
int *a;
int i,n;
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int));
這樣就相當於C++的定義:
int n;
int a[n];
cin>>n;
對2位數組操作如下:
int **a;
int i,m,n;
scanf("%d %d",&m,&n);
*a=(int **)malloc(m*sizeof(int *));
for (i=0;i<m;i++)
a[i]=(int *)malloc(n*sizeof(int));
這樣就相當於C++的定義:
int m,n;
int a[m][n];
cin>>m>>n;
這個是告訴你怎樣動態分配數組。。。然後你只需要給數組賦值。。循環就行了。。自己動手寫吧。。
❽ C語言編程,求2個3×3矩陣對應元素之和,並存入矩陣C中,然後輸出矩陣C
#include<stdio.h>
int main()
{
int a[3][3],b[3][3],c[3][3];
int i,j;
for(i=0; i<3; ++i)
for(j=0; j<3; ++j)
scanf("%d",&a[i][j]);
for(i=0; i<3; ++i)
for(j=0; j<3; ++j)
scanf("%d",&b[i][j]);
for(i=0; i<3; ++i)
for(j=0; j<3; ++j)
c[i][j]=a[i][j]+b[i][j];
for(i=0; i<3; ++i)
{
for(j=0; j<3; ++j)
printf("%d ",c[i][j]);
printf("\n");
}
return 0;
}
❾ 用C語言求兩個矩陣相應元素之和(矩陣行和列數使用符合常量)。
#include<stdio.h>
#include<malloc.h>
int main()
{
int m,n,i,j;
int **A,**B,**C;
printf("請輸入矩陣的行和列:");
scanf("%d%d",&m,&n);
A=(int **)malloc(m*sizeof(int *)); /*動態開辟二位數組*/
for(i=0;i<m;i++)
A[i]=(int *)malloc(n*sizeof(int));
B=(int **)malloc(m*sizeof(int *));
for(i=0;i<m;i++)
B[i]=(int *)malloc(n*sizeof(int));
C=(int **)malloc(m*sizeof(int *));
for(i=0;i<m;i++)
C[i]=(int *)malloc(n*sizeof(int));
printf("請輸入A矩陣的內容%d行%d列:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&A[i][j]);
printf("請輸入B矩陣的內容%d行%d列:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&B[i][j]);
for(i=0;i<m;i++) /*對兩矩陣求和*/
{
for(j=0;j<n;j++)
{
C[i][j]=A[i][j]+B[i][j];
}
}
printf("求和後C矩陣的內容為:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",C[i][j]);
}
printf("\n");
}
return 0;
}
❿ c語言求矩陣各行元素之和
先用數組去存儲矩陣裡面的各個元素,然後獲取數組的行數與列數,最後遍歷數組中的值,累加以後可求得各行元素之和!