童鞋,不知道你是用的什么測試數據,在我的機器上測試了幾組數據,結果都是正確的。
網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了昆都侖免費建站歡迎大家使用!
重復下我的測試代碼。
#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矩陣行數和列數,以空格分開,,,");
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列的數,,",(i+1),(j+1));
scanf("%d",(p+m*i+j));
}
printf("請輸入b矩陣行數和列數,以空格分開,,,");
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列的數,,",(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");
}
}
附帶一組測試數據
A 3 4
2 1
B 3
4
Result
25
10
結果正確。
#includestdio.h
#define N 10
int getsum(int n,int a[][N])//要求的通用函數
{
int i,j,sum=0;
for(i=0;in;i++)
for(j=i;jn;j++)
sum+=a[i][j];
return(sum);
}
void main(void)//主函數
{
int i,j,n,sum;
int a[N][N];
printf("請輸入方陣階數:\n");
scanf("%d",n);
printf("請依次輸入方陣里的值:\n");
for(i=0;in;i++)
for(j=0;jn;j++)
scanf("%d",a[i][j]);
sum=getsum(n,a);
printf("%d",sum);
}
(-1)3.若n階方陣A=(aij),則A相應的行列式D記作D=|A|=detA=det(aij)。
若矩陣A相應的行列式D=0,稱A為奇異矩陣,否則稱為非奇異矩陣,標號集:序列1,2,...,n中任取k個元素i1,i2,...,ik滿足1≤i1i2...ik≤n(1)
i1,i2,...,ik構成{1,2,...,n}的一個具有k個元素的子列,{1,2,...,n}的具有k個元素的滿足(1)的子列的全體記作C(n,k),顯然C(n,k)個子列。
因此C(n,k)是一個具有個元素的標號集(參見第二十一章,1,二),C(n,k)的元素記作σ,τ,...,σ∈C(n,k)表示。
σ={i1,i2,...,ik}是{1,2,...,n}的滿足(1)的一個子列.若令τ={j1,j2,...,jk}∈C(n,k),則σ=τ表示i1=j1,i2=j2,...,ik=jk。
擴展資料:
①行列式A中某行(或列)用同一數k乘,其結果等于kA。
②行列式A等于其轉置行列式AT(AT的第i行為A的第i列)。
③若n階行列式|αij|中某行(或列);行列式則|αij|是兩個行列式的和,這兩個行列式的第i行(或列),一個是b1,b2,…,bn;另一個是с1,с2,…,сn;其余各行(或列)上的元與|αij|的完全一樣。
④行列式A中兩行(或列)互換,其結果等于-A。
⑤把行列式A的某行(或列)中各元同乘一數后加到另一行(或列)中各對應元上,結果仍然是A。
參考資料來源:百度百科-行列式
文章標題:c語言矩陣通用函數 矩陣 c語言
文章地址:http://vcdvsql.cn/article16/ddcsjgg.html
成都網站建設公司_創新互聯,為您提供App開發、面包屑導航、自適應網站、手機網站建設、網站建設、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯