日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
矩陣叉乘c語言子函數(shù),矩陣的叉乘運(yùn)算法則

用c語言編寫一個函數(shù)實(shí)現(xiàn)矩陣的叉乘

#includestdio.h

創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站建設(shè)方案、改版、費(fèi)用等問題,行業(yè)涉及塑料袋等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

void matrix(int a[][100],int a1,int a2,int b[][100],int b1,int b2,int c[][100])

{

int i,j,k;

if(a2!=b1)

{

printf("矩陣的維數(shù)錯了!\n");

return;

}

for(i=0;ia1;i++)

{

for(j=0;jb2;j++)

{

c[i][j]=0;

for(k=0;ka2;k++)

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

}

}

}

int main()

{

int a1,a2,b1,b2,a[100][100],b[100][100],c[100][100],i,j;

printf("輸入矩陣一的行數(shù)和列數(shù)(不超過100):\n");

scanf("%d%d",a1,a2);

for(i=0;ia1;i++)

{

for(j=0;ja2;j++)

scanf("%d",a[i][j]);

}

printf("輸入矩陣一的行數(shù)和列數(shù)(不超過100):\n");

scanf("%d%d",b1,b2);

for(i=0;ib1;i++)

{

for(j=0;jb2;j++)

scanf("%d",b[i][j]);

}

matrix(a,a1,a2,b,b1,b2,c);

printf("結(jié)果:\n");

for(i=0;ia1;i++)

{

for(j=0;jb2;j++)

printf("%d ",c[i][j]);

printf("\n");

}

return 0;

}

c語言 矩陣相乘

#include fstream

#include IOMANIP

#include stdio.h

using namespace std;

void input_data(float b[][50])

{

int r,l;

for(int i=0;i3;i++)

{

for(int j=0;j3;j++)

{

printf("\n第%d個元素為:",i*3+j+1);//去掉b[i][j]

scanf("%f",b[i][j]);

}

}

printf("輸入完畢!\n");

}

void output_data(float b[][50])

{

int r,l;

for(int i=0;i3;i++)

{

for(int j=0;j3;j++)

{

printf("%f ",b[i][j]);

}

printf("\n");

}

}

void multiply(float M[50][50],float N[50][50],float J[50][50])

{

float sum;

int l=3;

int l1=3;//都是三乘三的吧,方陣

int k=3;//K賦初值

for(int i=0;ik;i++)

{

for( k=0;kl;k++)

{

sum=0;//賦初值

for(int j=0;jl1;j++)

{

sum+=M[i][j]*N[j][k];

}

J[i][k]=sum;

sum=0;

}

}

}

void main()

{

float A[50][50];

float B[50][50];

float C[50][50]={0};//賦初值

input_data(A);

output_data(A);

multiply(A,A,C);

output_data(C);

}//1 2 3 4 5 6 7 8 9

用c語言實(shí)現(xiàn)兩個矩陣相乘怎么做?

1、程序運(yùn)行輸入數(shù)據(jù)時(shí),第一行為A矩陣的行列數(shù)和B矩陣的行列數(shù),接著分別輸入A、B兩個矩陣的值。

2、首先,定義6個整型變量,保存A、B矩陣的行和列,以及控制循環(huán)的變量,k則用于實(shí)現(xiàn)矩陣的乘法。

3、接著,定義三個整型二維數(shù)組,保存A、B和C矩陣的各元素。

4、輸入三個矩陣的行數(shù)和列數(shù),保存在變量a、b、c中。

5、輸入矩陣A的各元素,保存在數(shù)組X中。

6、輸入矩陣B的各元素,保存在數(shù)組Y中。

7、將二維數(shù)組Z的各元素,初始化為0。

8、用兩層for循環(huán),控制矩陣的乘法,并輸出乘法所得的結(jié)果。

9、計(jì)算A矩陣和B矩陣的乘法,結(jié)果保存在數(shù)組Z中。

10、最后,輸出乘法所得的結(jié)果,即輸出Z數(shù)組中的所有元素。

11、運(yùn)行程序,輸入矩陣A和B的行數(shù)和列數(shù),以及A矩陣和B矩陣的所有元素,電腦就會計(jì)算出乘積C矩陣的所有元素,并輸出C矩陣。

C語言實(shí)現(xiàn)矩陣乘法

1,若程序定義為三行三列的矩陣,并在主函數(shù)中鍵盤賦值。請編寫函數(shù)juzhen(int a[][3],int n),函數(shù)功能是:使矩陣左下角元素中的值乘以.例如:若矩陣中的值為:

1 9 7

2 3 8

4 5 6

n=3,則矩陣值變?yōu)椋?/p>

1 9 7

6 9 8

12 15 18

注:二維數(shù)組下三角元素每行最后元素的列標(biāo)和該列的列號一致

#include stdio.h

int juzhen(int a[][3],int n)

{

int i,j;

for (i=1;i3;i++)

for (j=0;j=i;j++)

a[i][j]=a[i][j]*n;

}

main()

{

int i,j,a[3][3],m;

clrscr();

printf("please enter 9 numbers :\n");

for (i=0;i3;i++)

for (j=0;j3;j++)

scanf("%d",a[i][j]);

printf("the old ju zhen is:\n");

for (i=0;i3;i++)

{

for (j=0;j3;j++)

printf("%3d",a[i][j]);

printf("\n");

}

printf("please enter a int number:\n");

scanf("%d",m);

juzhen (a,m);

printf("the new ju zhen is:\n");

for (i=0;i3;i++)

{

for (j=0;j3;j++)

printf("%3d",a[i][j]);

printf("\n");

}

}

2,請編寫函數(shù)juzhen,該函數(shù)的功能是:將三行四列矩陣x乘以四行三列矩陣y,結(jié)果放在三行三列矩陣中。矩陣相乘的基本方法是:矩陣Xy中行列下標(biāo)分別為i,j的元素的值,是矩陣X中第i行上四個元素與矩陣Y中第j列上四個元素對應(yīng)相乘的積。

X和Y矩陣原型可運(yùn)行后看到!

#include conio.h

#include stdio.h

void juzhen (int a[3][4],int b[4][3],int ab[3][3])

{

int i,j,z;

for (i=0;i3;i++)

for (j=0;j4;j++)

for (z=0;z3;z++)

ab[i][z]=ab[i][z]+a[i][j]*b[j][z];/*此得為要填寫的內(nèi)容*/

}

main()

{

int x[3][4]={1,0,1,1,2,1,0,1,1,2,0,3};

int y[4][3]={1,1,1,0,0,0,2,1,1,1,1,3};

int xy[3][3]={0},i,j;

clrscr();

juzhen (x,y,xy);

printf("x ju zhen is:\n");

for (i=0;i3;i++)

{

for (j=0;j4;j++)

printf("%3d",x[i][j]);

printf("\n");

}

printf("y ju zhen is:\n");

for (i=0;i4;i++)

{

for (j=0;j3;j++)

printf("%3d",y[i][j]);

printf("\n");

}

printf("xy ju zhen is:\n");

for (i=0;i3;i++)

{

for (j=0;j3;j++)

printf("%3d",xy[i][j]);

printf("\n");

}

}

由于你沒有說要求,我就寫了兩個,這是兩道比較精典的求c語言矩陣乘法程序

用C語言寫一個兩個矩陣相乘的函數(shù)

自己看看吧,可以同時(shí)都換成注釋的行,有助于你理解參數(shù)傳遞

:)======================================================

#includestdio.h

#define M 5

#define P 4

#define N 3

void mltp(float (*a)[P],float (*b)[N],float (*c)[N])

//void mltp(float *a,float *b,float *c)

{

for(int i=0;iM;i++)

for(int j=0;jN;j++)

for(int k=0;kP;k++)

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

//c[i*N+j]+=a[i*P+k]*b[k*N+j];

}

void main()

{

int i,j;

float a[M][P],b[P][N];

float c[M][N]={0};

printf("plz input a,b:\n");

for(i=0;iM;i++)

for(j=0;jP;j++)

scanf("%f",a[i][j]);

for(i=0;iP;i++)

for(j=0;jN;j++)

scanf("%f",b[i][j]);

mltp(a,b,c);

//mltp(a[0][0],b[0][0],c[0][0]);//等

//mltp((float*)a,(float*)b,(float*)c);//價(jià)

printf("result is:\n");

for(i=0;iM;i++)

{

for(j=0;jN;j++)

printf("%f\t",c[i][j]);

printf("\n");

}

}

C語言關(guān)于矩陣乘法的函數(shù),,

童鞋,不知道你是用的什么測試數(shù)據(jù),在我的機(jī)器上測試了幾組數(shù)據(jù),結(jié)果都是正確的。

重復(fù)下我的測試代碼。

#include "stdio.h"

#include "stdlib.h"

#include "malloc.h"

void multiplication(int a,int b,int c,int *p,int *q);

void main()

{

int m,n,l,h;

int i,j,g,k;

int *p,*q;

char x;

printf("請輸入a矩陣行數(shù)和列數(shù),以空格分開,,,");

scanf("%d %d",m,n);

p=(int *)malloc(sizeof(int)*m*n);

for(i=0;im;i++)

for(j=0;jn;j++)

{

printf("請輸入a矩陣%d行%d列的數(shù),,",(i+1),(j+1));

scanf("%d",(p+m*i+j));

}

printf("請輸入b矩陣行數(shù)和列數(shù),以空格分開,,,");

scanf("%d %d",l,h);

q=(int *)malloc(sizeof(int)*l*h);

for(g=0;gl;g++)

for(k=0;kh;k++)

{

printf("請輸入b矩陣%d行%d列的數(shù),,",(g+1),(k+1));

scanf("%d",(q+l*g+k));

}

multiplication( m, n, h, p, q);

}

void multiplication(int a,int b,int c,int *p,int *q)

{

int i,j;

int k;

int sum;

for(i=0;ia;i++)

{

for(j=0;jc;j++)

{

sum=0;

for(k=0;kb;k++)

{

sum=sum+(*(p+a*i+k))*(*(q+b*k+j));

}

printf("%d ",sum);

}

printf("\n");

}

}

附帶一組測試數(shù)據(jù)

A 3 4

2 1

B 3

4

Result

25

10

結(jié)果正確。


本文標(biāo)題:矩陣叉乘c語言子函數(shù),矩陣的叉乘運(yùn)算法則
當(dāng)前URL:http://www.dlmjj.cn/article/hdeiji.html