1樓:匿名使用者
直接將a[i][j]乘以b[i][j] 賦值給c[i][j]. #include
void main()
;int b[3][3]=;
int c[3][3];
int i,j;
printf("a is:\n");
for(i=0;i<3;i++)
printf("b is:\n");
for(i=0;i<3;i++)
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("c is:\n");
for(i=0;i<3;i++)
getch();}
2樓:千鋒教育
printf("\n");}}
3樓:匿名使用者
for(i=0;i<3;i++)
for(j=0;j<3;j++)
4樓:匿名使用者
#include
void main()
;int b[3][3]=;
int c[3][3];
int i,j,k;
printf("a is:\n");
for(i=0;i<3;i++)
printf("b is:\n");
for(i=0;i<3;i++)
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("c is:\n");
for(i=0;i<3;i++)
getch();}
用c語言實現兩個矩陣相乘怎麼做?
5樓:灩麗
1、程式執行輸入資料時,第一行為a矩陣的行列數和b矩陣的行列數,接著分別輸入a、b兩個矩陣的值。
2、首先,定義6個整型變數,儲存a、b矩陣的行和列,以及控制迴圈的變數,k則用於實現矩陣的乘法。
3、接著,定義三個整型二維陣列,儲存a、b和c矩陣的各元素。
4、輸入三個矩陣的行數和列數,儲存在變數a、b、c中。
5、輸入矩陣a的各元素,儲存在陣列x中。
6、輸入矩陣b的各元素,儲存在陣列y中。
7、將二維陣列z的各元素,初始化為0。
8、用兩層for迴圈,控制矩陣的乘法,並輸出乘法所得的結果。
9、計算a矩陣和b矩陣的乘法,結果儲存在陣列z中。
10、最後,輸出乘法所得的結果,即輸出z陣列中的所有元素。
11、執行程式,輸入矩陣a和b的行數和列數,以及a矩陣和b矩陣的所有元素,電腦就會計算出乘積c矩陣的所有元素,並輸出c矩陣。
6樓:匿名使用者
#include
#include
#define m 3
int main(void)
{int i,j,k,matrix1[m][m],matrix2[m][m],row1=m ,col1=m ,row2=m,col2=m,matrix[m][m];
/*為需要相乘的兩個矩陣賦值:*/
printf("輸入第乙個矩陣:\n");
for(i=0;i
7樓:育知同創教育
c語言實現矩陣相乘
問題描述:
編寫程式,可以實現m*n矩陣和n*p矩陣相乘。m,n,p均小於10,矩陣元素為整數。
分析:首先我們可以根據題意寫出函式頭。可以定為void matrixmutiply(int m,int n,int p,long lmatrix1[max][max],long lmatrix2[max][max],long lmatrixresult[max][max]),其中lmatrix1和lmatrix2分別是輸入的m*n矩陣和n*p矩陣,lmatrixresult是輸出的m*p矩陣。
因為m,n和p都是未知量,要進行處理的矩陣大小是變數。但我們可以定義比較大的二維陣列,只使用其中的部分陣列元素。
矩陣相乘的演算法比較簡單,輸入乙個m*n矩陣和乙個n*p矩陣,結果必然是m*p矩陣,有m*p個元素,每個元素都需要計算,可以使用m*p巢狀迴圈進行計算。
根據矩陣乘法公式:
可以用迴圈直接套用上面的公式計算每個元素。巢狀迴圈內部進行累加前,一定要注意對累加變數進行清零。
資料要求
問題中的常量:
#define max 10 /*矩陣最大行數和列數*/
問題的輸入:
int m,n,p; /*相乘的兩個矩陣的行列數*/
long lmatrix1[max][max],lmatrix2[max][max]; /*相乘的兩個矩陣*/
問題的輸出:
long lmatrixresult[max][max]; /*矩陣相乘後得到的矩陣*/
初始演算法
1.輸入兩個矩陣的的行列數m,n,p;
2.輸入第乙個矩陣的每個元素;
3.輸入第二個矩陣的每個元素;
4.呼叫函式進行乘法運算,結果放在lmatrixresult 中;
5. 列印輸出結果矩陣。
演算法細化
演算法的步驟4計算兩個矩陣的乘法演算法如下:
4.1 定義迴圈變數i,j,k;
4.2 巢狀迴圈計算結果矩陣(m*p)的每個元素。
程式**如下:
#define max 10
void matrixmutiply(int m,int n,int p,long lmatrix1[max][max],
long lmatrix2[max][max],long lmatrixresult[max][max])
}main()
/*輸入第二個矩陣的每個元素*/
printf("\nplease elements of matrix2(%d*%d):\n",n,p);
for(i=0;i for(j=0;j
/*呼叫函式進行乘法運算,結果放在lmatrixresult 中*/ matrixmutiply(m,n,p,lmatrix1,lmatrix2,lmatrixresult); /*列印輸出結果矩陣*/ printf("\nresult matrix: \n"); for(i=0;i }程式執行結果如下: please input m of matrix1: **lease input n of matrix1: 2please input p of matrix2: **lease elements of matrix1(3*2): 1 20 1 3 0please elements of matrix2(2*3): 1 2 0 3 1 1 result matrix: 7 4 2 3 1 1 3 6 0 8樓:匿名使用者 有c語言實現兩個句子呢相同的話我覺得這個在程式設計的時候只要把兩個句子兩個句子然後涉及到乙個什麼可以了 9樓:匿名使用者 用c語言實現兩個矩陣相乘,編寫程式就行。 10樓:xc望心闖天下 #include int main() }for(i = 0;i < 3 ; i++)}for(i = 0; i < 3; i++)}for(i = 0;i < 3 ; i++)printf("\n");}}請採納 線性代數中,兩個矩陣相乘應該怎樣計算 11樓:中公教育 相乘的形式設為a*b,a的行對應b的列,對應元素分別相乘;相乘的結果行還是a的行、列還是b的列;a的列數必須等於b的行數。 在數學中,矩陣(matrix)是乙個按照長方陣列排列的複數或實數集合 ,最早來自於方程組的係數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。 矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。在物理學中,矩陣於電路學、力學、光學和量子物理中都有應用;電腦科學中,三維動畫製作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。 將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和準對角矩陣,有特定的快速運算演算法。關於矩陣相關理論的發展和應用,請參考矩陣理論。 在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。 12樓:申蓄葉沈雅 第乙個矩陣的第一行和第二個矩陣的第一列相乘的和。得到新矩陣的第乙個元素。依次類推。 如何用c語言求一般矩陣(非對稱矩陣)的特徵值和特徵向量??? 13樓:斯坦恩貝格(北京)電子**** 用c語言計算矩陣過程比較複雜,不是一行兩行就能表述清楚的。 具體方法,可以參考如下鏈結中的文章:http://wenku. 14樓:匿名使用者 用c++或者vb程式設計很煩人的,matlab中命令:[a,b]=eig(a)就是求解矩陣a的特徵值和特徵值對應的向量,他們分別會構成乙個由特徵值組成的對角矩陣b和乙個由對應特徵值的特徵列向量組成的a矩陣。或者命令a=eig[a]就只有特徵值組成的對角矩陣a,別去想用c++和vb之類的,這些軟體用來求解矩陣和matlab相差太遠了。 我之前也想過程式設計解決,人家乙個命令就能解決的問題何不取巧呢? include define n 3 void mprint int a n n int i,j for i 0 ifor j 0 jprintf d a i j printf n printf n n n void marray int i,j,k,m,temp int a n n for i 0... d。求a的行列式,a 的所有行加到第一行,第一行提取公因子,第一行乘以 1加到下面各回行,則 a 1 n 1 a 1 a n 1 若答a的秩是n 1,則 a 0,解得a 1或1 1 n a 1時,a的秩是n 1。a 1 1 n 時,a 0,a的前n 1行n 1列構成的子式非零,所以a的秩是n 1。3... 解釋的沒錯!這在c語言中叫做復合賦值運算子,包括如下幾種 在c語言中,b 3等同於b b 3。對,就是b b 3 在c c 中,bai操作符稱為自反運算子 類似的du還有 zhi 等等 由前後兩個符dao號無間內隔組合而成 其核心意義由前乙個容 符號確定,完成左邊的變數與右邊的變數的運算關係,後面的...c語言程式設計,先從鍵盤上輸入3行3列陣列的各元素的值,然後按主
1行3列的矩陣能求秩麼,3行3列矩陣行列式的值怎麼算
C語言中,b 3是什麼意思,c語言中3 b 是什麼意思