二维数组怎么算元素个数啊?

如题所述

若二维数组a有m列,则计算任一元素a[i][j]在数组中任意位置的公式为:a[i][j] =a+(i-1)*m+j =a[0][0]+(i-1)*m+j。

二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:

a[2][3]将获取数组中第 3 行第 4 个元素。

a[i][j]将获取数组中第 i+1 行第 j+1个元素,即数组中第i*m+j+1个数。

扩展资料

二维数组的基本运算方法:

1、转置矩阵:

//其中A, B是m*n矩阵:

void tramat(matrix A,matrix B){ int i,j;

for(i=0; i<m; i++)for(j=0;j<n;j++)B[j]=A[j];}

2、矩阵相加:

//其中A,B,C是m*n矩阵:void addmat(matrix C, matrix A, matrix B){int i, j;for(i=0; i<m; i++)for(j=0;j<n;j++)c[j] = A[j] + B[j];}

3、矩阵相乘:

//其中A是m*n矩阵,B是n*1矩阵,C为m*1矩阵void mutmat(matrix C, matrix A, matrix B){int i, j, k;for(i=0; i<m; i++)for(j=0; j<i; j++){C[j]=0;for(k=0; k<n; k++)C[j] = C[j] + A[k] * B[k][j];}}

//其中A是m*n矩阵,B是n*1矩阵,C为m*1矩阵

void mutmat(matrix C, matrix A, matrix B){int i, j, k;for(i=0; i<m; i++)for(j=0; j<i; j++){C[j]=0;for(k=0; k<n; k++)C[j] = C[j] + A[k] * B[k][j];}}

参考资料来源:百度百科-二维数组

温馨提示:答案为网友推荐,仅供参考