1樓:網友
#include
using namespace std;
void mulmatri(int** x, int** y, int** z , int m, int n,int p)
int i,j,k;
for(i=0;ifor(j=0;jz[i][j]=0;
for(k=0;kz[i][j]+=x[i][k]*y[k][j];
int main(){
int** a,**b,**c;
int i,j;
a = new int*[2];
b = new int*[2];
c = new int*[2];
for (int ii=0;ii<2;ii++)a[ii] =new int[2];
b[ii] =new int[1];
c[ii] =new int[1];
a[0][0]=1;a[0][1]=-1;a[1][0]=1;a[1][1]=1;
b[0][0]=1;b[1][0]=0;
mulmatri(a,b,c,2,2,1);
for(i=0;i<2;++i)
for(j=0;j<1;++j)
coutb賦值出現錯誤,應該是b[1][0]=0,不是b[0][1]=0;
b是2×1的陣列。
2樓:網友
你的程式根本就不完整,不正確液鋒的情況下是什麼結果,都描述清楚,最好形象的列出矩陣值?
還有,你的提問不少,但是槐埋坦不知道為什麼從來鉛桐不。
c++矩陣相乘問題,子函式要怎麼呼叫才不出錯?
3樓:網友
加上強制轉換即可:
trmul((double*)a,(double*)b,2,3,2,(double*)c);
#include
void trmul(double a,double b,int m,int n,int s,double c);
using namespace std;
int main()
double b[3][2]=;
double c[2][2];
trmul((double*)a,(double*)b,2,3,2,(double*)c);
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)cout<
4樓:網友
這要看你出啥錯誤了,具體錯誤具體對待。
5樓:匿名使用者
你好!!
函式應用的時候,改成:
trmul(*a,*b,2,3,2,*c);
用c語言寫乙個兩個矩陣相乘的函式
6樓:薄涼知秋
能量項鍊你會麼?某年的noip上的題,矩陣乘法和它差不多。
c++:編寫求矩陣[b] n×s和[c] c×m相乘的子函式。其中[b]和[c]中各元素的值須由檔案中讀入。程式有錯,幫改
7樓:網友
標頭檔案要加上副檔名。h
m,n重複定義全域性變數會在主函式中倍遮蔽,將main()中的m,n定義去掉但要先置m,n初值。
不大清楚為什麼使用n+1,m+1;陣列下標由0開始做才對,因為在呼叫f()時也是在呼叫a[0][0],b[0][0],c[0][0]的位址。
並不是所有編譯器都能識別大小寫的區別(windows環境下大多不能),建議更改m,n和m,n以免造成重複定義,而重複定義通常引發記憶體呼叫的邏輯衝突。
8樓:網友
你為什麼建立了兩套m,n(main中乙個,全域性變數又乙個)
把 main中的m,n定義刪去看行不行。
9樓:網友
c++程式有測試選項的吧 點下 然後雙擊那錯誤點 它會提示你哪一行有錯誤 還有寫源命令的時候是#include吧。
c語言矩陣相乘出錯
10樓:小蘿蔔
改成這樣就可以了:
1、第二層迴圈改成:for (j = 0; j < 4; j++)2、第三層迴圈改成:for (int k = 0; k < 3; k++)
3、第三層的迴圈體改成:xyz1[i][j] += r1[i][k] *xyf1[k][j];
完成測試**如下:
#include
int main()
int r1[3][3] =;
int xyf1[3][4]=;
int xyz1[3][4]=;
int i,j;
for (i = 0; i < 3; i++)for (j = 0; j < 4; j++)/*xyz1[i][j] = 0;*/
for (int k = 0; k < 3; k++)xyz1[i][j] += r1[i][k] *xyf1[k][j];
printf("%d\t",xyz1[i][j]);
printf("");
編寫求矩陣[b] n×s和[c] c×m相乘的子函式。其中[b]和[c]中各元素的值須由檔案中讀入。
11樓:猴墓媚
那n s c m 的值也在檔案中??求。
編寫乙個函式實現矩陣a(2行3列)與矩陣b(3行2列)相乘,乘積放在c陣列中。在主
12樓:網友
#include
using namespace std;
int main()
int b[3][2] = ;
int c[2][2] = ;
cout <<"輸入矩陣a(
2行3列)元素的各個值:"
cout <<"輸入矩陣b(3行2列)元素的各個值:"
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 <<"結果為: " 直接將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 ... 1 函式沒有自 申明就使用了bai。2 函式呼叫,du不能省略括號。zhi3 for迴圈的 表示式 dao1 表示式2 表示式3 表示式4 中表示式2 為 表示式4是否執行的判讀依據,應該使用 邏輯判斷運算子 不該使用 賦值符 51微控制器 c語言裡 nop 函式怎麼用 具體一點 求高手指教 1 c... 您好!1.a n 0 0 0 b n 0 0 0 c n 2.a 2 b 2 c 2 3.a 2 ab ac ba b 2 bc ca cb c 2 如果認為講解不夠清楚,請追問。如果滿意,請採納,謝謝!祝 學習進步! 笑書神俠客 以前回答過類似的問題所以直接複製貼上了。一樓的答案很正確,我就不給你...c語言3行3列矩陣相乘寫法C語言3行3列矩陣相乘寫法
51微控制器c語言定義函式出錯望各位大神指教
計算下列矩陣乘積,計算下列矩陣(三個矩陣相乘),寫下過程,謝謝!