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];
}
}
版权声明:本文标题:设二维数组a[1..m,1..n]按行储存在数组b 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713679238a646622.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论