若二维数组a有m列,则计算任一元素a[i][j]在数组中任意位置的公式为
展开全部
若二维数组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];}}参考资料来源:百度百科-二维数组
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询