admin 管理员组

文章数量: 1184232


2024年4月21日发(作者:linux下cmake安装)

设二维数组,1..n]按行储存在数组b

二维数组的定义

二维数组定义的一般形式是:

datatype arrayname[length1][length2];

其中,datatype 为数据类型,arrayname 为数组名,length1 为第一维下标的长度,

length2 为第二维下标的长度。例如:

int a[3][4];

定义了一个3行4列的数组,共有3×4=12个元素,数组名为a,即:

a[0][0], a[0][1], a[0][2], a[0][3]

a[1][0], a[1][1], a[1][2], a[1][3]

a[2][0], a[2][1], a[2][2], a[2][3]

在二维数组中,要定位一个元素,必须给出一维下标和二维下标,就像在一个平面中

确定一个点,要知道x坐标和y坐标。例如,a[3][4] 表示a数组第3行第4列的元素。

在c语言中,二维数组就是按行排序的。也就是先放置a[0]行,再放置a[1]行,最

后放置a[2]行;每行中的四个元素也就是依次放置。数组a为int类型,每个元素挤占4

个字节,整个数组共挤占4×(3×4)=48个字节。

转置矩阵

//其中a,b就是m*n矩阵:

voidtramat(matrixa,matrixb){inti,j;

for(i=0;i

for(j=0;j

b[j]

}

矩阵相乘

//其中a,b,c是m*n矩阵:

voidaddmat(matrixc,matrixa,matrixb){

inti,j;

for(i=0;i

for(j=0;j

c[j]=a[j]+b[j];

}

矩阵相加

//其中a是m*n矩阵,b是n*1矩阵,c为m*1矩阵

voidmutmat(matrixc,matrixa,matrixb){

inti,j,k;

for(i=0;i

for(j=0;j

c[j]=0;

for(k=0;k

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

}

}


本文标签: 数组 元素 矩阵 坐标