當前位置:編程學習大全網 - 編程語言 - 計算機算法題!編程實現5個矩陣A1A2A3A4A5聯乘積

計算機算法題!編程實現5個矩陣A1A2A3A4A5聯乘積

妳題目裏面的矩陣有六個 啊 ,而且 5*10,30*20,20*25 不對吧!

我的代碼在下面,妳自己改幾個數字吧。 下面標記了

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

struct matrix{

int row,col,num[40][40];

} a[5];

struct matrix pro(struct matrix a,struct matrix b)

{

struct matrix c;

int i,j,k;

c.row = a.row; c.col = b.col;

memset(c.num,sizeof(c.num),0);

for(i=0;i<c.row;i++)

{

for(j=0;j<c.col;j++)

{

for(k=0;k<a.col;k++)

c.num[i][j] += a.num[i][k] * b.num[k][j];

}

}

return c;

}

void out(struct matrix a)

{

int i,j;

for(i=0;i<a.row;i++)

{

for(j=0;j<a.col;j++)

printf("%5d ",a.num[i][j]);

puts("");

}

}

int main()

{

int i,j,k;

struct matrix ans;

a[0].row = 2; a[0].col = 3; /*設置行和列*/

a[1].row = 3; a[1].col =2;

a[2].row = 15; a[2].col = 5;

a[3].row = 5; a[3].col = 10;

a[4].row = 10; a[4].col = 25; /*這裏進行更改就行*/

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

{

printf("please enter matrix %d ( %d * %d ):\n",i+1,a[i].row,a[i].col);

for(j=0;j<a[i].row;j++)

{

for(k=0;k<a[i].col;k++)

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

}

}

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

{

ans = pro(a[i],a[i+1]);

}

puts("answer matrix is :");

out(ans);

system("pause");

}

  • 上一篇:什麽叫大數,大數包括哪些數。
  • 下一篇:優地科技牽手58產業基金,人機協同開創藍領市場新模式
  • copyright 2024編程學習大全網