1樓:匿名使用者
遍歷矩陣
每個值乘2即可。
void double_matrix(int a[3][3])
c語言:輸入乙個2行3列的矩陣a和乙個3行4列的矩陣b,計算兩矩陣的乘積
2樓:曉龍修理
解題過程如下:
#include ;#include
#define l 2,#define m 3,#define n 4
}printf("\n");}return;}int main(void)};
double b[m][n] = };double c[l][n] = };int i = 0, j = 0, k = 0;
printf("\ngenerate a[%d][%d]:\n", l, m);
genarr(&a[0][0], l, m);
printmatrix(&a[0][0], l, m);
printf("\ngenerate b[%d][%d]:\n", m, n);
}}printf("\ncalc c[%d][%d]:\n", l, n);
性質:矩陣相乘最重要的方法是一般矩陣乘積。它只有在第乙個矩陣的列數(column)和第二個矩陣的行數(row)相同時才有意義 。
一般單指矩陣乘積時,指的便是一般矩陣乘積。乙個m×n的矩陣就是m×n個數排成m行n列的乙個數陣。由於它把許多資料緊湊地集中到了一起,所以有時候可以簡便地表示一些複雜的模型,如電力系統網路模型。
當矩陣a的列數(column)等於矩陣b的行數(row)時,a與b可以相乘。矩陣c的行數等於矩陣a的行數,c的列數等於b的列數。乘積c的第m行第n列的元素等於矩陣a的第m行的元素與矩陣b的第n列對應元素乘積之和。
當提及「矩陣相乘」或者「矩陣乘法」的時候,並不是指代這些特殊的乘積形式,而是定義中所描述的矩陣乘法。在描述這些特殊乘積時,使用這些運算的專用名稱和符號來避免表述歧義。
把給定的圖轉為鄰接矩陣,即a(i,j)=1當且僅當存在一條邊i->j。令c=a*a,那麼c(i,j)=σa(i,k)*a(k,j),實際上就等於從點i到點j恰好經過2條邊的路徑數(列舉k為中轉點)。
類似地,c*a的第i行第j列就表示從i到j經過3條邊的路徑數。同理,如果要求經過k步的路徑數,只需要二分求出a^k即可。
3樓:匿名使用者
#include
int main()}}
for(x=0;x<2;x++)
return 0;}
程式設計 求矩陣 三行三列 與2的乘積 要求使用for函式
4樓:匿名使用者
#include
#include
void main()
,,};
printf("原陣列為 :\n");
for(i=0;i<3;i++)
printf("\n");
}printf("乘二後陣列為 :\n");
for(i=0;i<3;i++)
printf("\n");
}getch();}
5樓:匿名使用者
fx527533138
bnstvud28155a
編寫乙個函式實現矩陣a(2行3列)與矩陣b(3行2列)相乘,乘積放在c陣列中。在主
6樓:匿名使用者
#include
using namespace std;
int main()
;int b[3][2] = ;
int c[2][2] = ;
cout << "輸入矩陣a(
2行3列)元素的各個值:" << endl;
for(int i = 0;i < 2;i++)for(int j = 0;i < 3;j++)cin >> a[i][j];
cout << "輸入矩陣b(3行2列)元素的各個值:" << endl;
for(int i = 0;i < 3;i++)for(int j = 0;i < 2;j++)cin >> b[i][j];
for(int i = 0;i < 2;i++)for(int j = 0;i < 2;j++)for(int k = 0;k < 3;k++)c[ i ][ j ] += a[j][k] * b[k][j];
cout << "結果為: " << endl;
for(int i = 0;i < 2;i++)return 0;}
c語言:輸入矩陣2行3列的矩陣a和矩陣3行4列的矩陣b,計算矩陣的乘積
7樓:匿名使用者
#include
#include
#define l 2
#define m 3
#define n 4
void genarr(double *arr, int row, int col)
}void printmatrix(double *arr, int row, int col)
printf("\n");
}return;
}int main(void)
};double b[m][n] = };
double c[l][n] = };
int i = 0, j = 0, k = 0;
printf("\ngenerate a[%d][%d]:\n", l, m);
genarr(&a[0][0], l, m);
printmatrix(&a[0][0], l, m);
printf("\ngenerate b[%d][%d]:\n", m, n);
genarr(&b[0][0], m, n);
printmatrix(&b[0][0], m, n);
for (i = 0; i < l; ++i)}}
printf("\ncalc c[%d][%d]:\n", l, n);
printmatrix(&c[0][0], l, n);
return 0;}
編寫函式程式,求矩陣(3行3列)與2的乘積 100 200 300 400 500 600 700 800 900
8樓:全新飄香
int i,sum;
for(i=1;i<10;i++)
矩陣乘法運算編寫乙個函式實現矩陣a(2行3列)與矩陣b相乘(3行2列),乘積放在c陣列中,並輸出c陣列
9樓:匿名使用者
#include
void main(void)
;printf("輸入陣列a:
\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("輸入陣列b:\n");
for(i=0;i<3;i++)
for(j=0;j<2;j++)
scanf("%d",&b[i][j]);
for(i=0;i<2;i++)
}printf("輸出陣列c:\n");
for(i=0;i<2;i++)}
10樓:匿名使用者
練練手:
#include
int main()
;int b[3][2] = ;
int c[2][2] ;
int i=0,j=0,k=0;
for(;i<2;i++)
for(k = 0;k<2;k++)
}for(i=0;i<2;i++)
return 0;}
c語言怎樣定義3行4列的二維陣列
int a 3 4 這樣定義就行了 賦值可以這樣 for i 0 i 3 i for j 0 j 4 j scanf d a i j 示例 main return 0 這樣就可以輸出乙個三行四列的矩陣 注意printf d a i j 這句 d後面是有空格的 資料型別 如int a 3 4 1 一般...
C語言程式設計實現兩個3x3矩陣的和
完整程式 include include main system pause include void main int array1 3 3 要初始化int array2 3 3 要初始化for int i 0 i 3 i 有些書上會有這種習題 程式設計實現求兩個3 3矩陣的和 include v...
C 語言程式設計求除以2餘1,除以3餘2,除以4餘3,除以5餘4,除以7餘5的最小自然數
include int main include void main printf d sum getchar 除以2餘1,除以3餘2,除以4餘3,除以5餘4,除以6餘5,除以7餘6,除以8餘7,是多少 加1能被2 3 4 5 6 7 8整除 即被5 6 7 8整除 最小是840 1 839 老師給...