矩阵乘法c语言算法
m行,l列乘以l行,n列等于m行,n列。
所以定义一个3行3列的矩阵。
它分为两个循环。
矩阵乘积的c语言程序设计 #定义最大50
#定义M最大值
#定义N最大值
#定义T MAX
#定义最大值
Intmult(双a c语言中两个矩阵相乘) #包含stdio.h
int main()
{
int x,y,z;
int i,j,l;
int sum = 0;
Printf("请输入上一个矩阵的行数和列数,下一个矩阵的列数:\ n ");
scanf("%d %d %d ",x,y,z);
int a[x][y];
int b[y][z];
int c[x][z];
//读入矩阵
Printf("请输入矩阵a:\ n ");
for(I = 0;九;i ){
for(j = 0;jy;j ){
scanf("%d ",a[I][j]);
}
}
Printf("请输入矩阵b:\ n ");
for(I = 0;iy;i ){
for(j = 0;JZ;j ){
scanf("%d ",b[I][j]);
}
}
Printf("矩阵A为:\ n ");
for(I = 0;九;i ){
for(j = 0;jy;j ){
printf("%d ",a[I][j]);
如果(j==y-1)
printf(" \ n ");
其他
printf(" \ t ");
}
}
Printf("矩阵b是:\ n ");
for(I = 0;iy;i ){
for(j = 0;JZ;j ){
printf("%d ",b[I][j]);
如果(j==z-1)
printf(" \ n ");
其他
printf(" \ t ");
}
}
for(I = 0;九;i ){
for(l = 0;LZ;l ){
for(j = 0;jy;j ){
sum = a[I][j]* b[j][l];
if(j==y-1){
c[i][l]=sum,sum = 0;
}
}
}
}
Printf("矩阵A和矩阵B的乘积为:\ n ");
for(I = 0;九;i ){
for(j = 0;JZ;j ){
printf("%d ",c[I][j]);
如果(j==z-1)
printf(" \ n ");
其他
printf(" \ t ");
}
}
返回0;
}
C语言矩阵的乘法 # includestdio.h
typedef结构
{
int m;
int n;
int数组[100][100];
} Ju _ def
int main()
{
Ju _ def Ju[11];
int i=0,m,n,k;
int flag[10];
while(1)
{
flag[I]= 0;
printf("In put m和n:\ n ");
scanf("%d%d ",Ju[i].m,Ju[i]。n);
while(Ju[i]。m = 0 | |居[i]. m100 | |居[I].n = 0 | |居[i].m100)
{
printf("In再次输入m和n:\ n ");
scanf("%d%d ",Ju[i].m,Ju[i]。n);
}
printf("放入您的数组:\ n ");
for(m = 0;mJu[i]。m;m)
{
for(n = 0;nJu[i]。n;n)
{
scanf("%d ",Ju[i].array[m][n]);
if(Ju[i].数组[m][n]==0)
flag[I];
}
}
If (flag [I] = = (ju [I].m * ju [I]。n))//矩阵元素在退出循环之前都是0。
{
flag[I]= 1;
打破;
}
其他
flag[I]= 0;
我;
i=i;//如果超过10个矩阵,就会循环到第一个。
}
for(I = 1;i10我)
{
如果((Ju[i].m!=Ju[0]。n)(flag[i]==0))
{
printf("不满足矩阵乘法的定义!\ n ");
返回0;
}
if(标志[i])
{
打破;
}
for(m = 0;mJu[0]。m;m)
{
for(n = 0;nJu[0]。n;n)
{
居[10]。array[m][n]= 0;
for(k = 0;kJu[i]。m;k)
{
居[10]。数组[m][n] =Ju[0]。数组[m][n]*Ju[i]。array[k][n];
}
居[0]。数组[m][n]=Ju[10]。array[m][n];
}
}
}
for(m = 0;mJu[0]。m;m)
{
for(n = 0;nJu[0]。n;n)
{
printf("%-8d ",Ju[0]。array[m][n]);
}
printf(" \ n ");
}
}
你试试这个。我的矩阵乘法是这样的。A = A * B * C...(10以内)。
c语言,矩阵乘法求解 此处,已更改:
#包含stdio.h
#包含数学. h
int main()
{
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},b[4][2]={1,1,1,1,2,2,2,2},c[3][2],I,j;
for(I = 0;i3;我)
{
for(j = 0;J2;j)
{
c[I][j]= 0;
for(x = 0;x4;x)
c[I][j]= a[I][x]* b[x][j];
}
}
for(I = 0;i3;我)
{
for(j = 0;J2;j)
printf("%d ",c[I][j]);
printf(" \ n ");
}
}
最后更新于 2023-10-08 17:27:19 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章