本文目錄一覽:
矩陣運算的c語言實現
演算法應該沒有問題,錯在下面:
1、沒有對矩陣pc分配內存。
2、mul( )中for(i=0;iai;i++)打錯了,將 iai 改為 iai
用C語言編寫個N*N矩陣,由外層到內層依次:第一層全是1;第二層全是2;第三層是3;
#includestdio.h
#define N 9
void main()
{
int a [N][N];
int i,j;
for(i =0;iN;i++)
for(j= 0;jN;j++)
{
a[i][j]= i+1;
}
for(i =0;iN;i++)
{ for(j= 0;jN;j++)
{
printf(“%d “,a[i][j]);
}
printf(“\n”);
}
}
怎樣用C語言寫矩陣?
用二維數組,如下:
#include stdio.h
main()
{
int i, j, a[4][4];
for ( i = 1; i 4; i++ )
{
for ( j = 1; j 4; j++ )
{
scanf (“%d”, a[i][j]);
}
}
//這樣就可以將一個3*3 的矩陣存在2維數組中了
for ( i = 1; i 4; i++ )
{
for ( j = 1; j 4; j++ )
{
printf (” %-4d “, a[i][j]);
}
printf (“\n”);
}
//這樣就可以顯示矩陣
return 0;
}
數據結構(使用C語言)關於矩陣
你的測試數據不符合條件,不是對稱矩陣。但函數調試已調試好了,無誤。
#include stdio.h
#define N 3
#define M (N*N+N)/2
void add(int C[],int A[],int B[])
{
for(int i=0;iM;i++)
C[i]=A[i]+B[i];
}
void print(int C[])
{
int i,j,t;
for(i=0;iN;i++)
{
for(int j=0;jN;j++)
{
if(i=j) t=(i+1)*i/2+j;
else t=(j+1)*j/2+i; //下三角存儲
printf(“%d “,C[t]);
}
printf(“\n”);
}
}
int main(void)
{
int a[N][N]={{1,2,3},{10,20,30},{2,4,5}};
int b[N][N]={{20,40,50},{3,5,6},{30,50,60}};
int A[M],B[M],C[M];
int i,j,t=0,k=0;
for(i=0;i=2;i++)
for(j=0;j=i;j++)
{
A[t++]=a[i][j];
B[k++]=b[i][j];
}
add(C,A,B);
print(C);
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/306328.html