首页 > 试题广场 >

要把一维数组int a[m*n]的元素传送到二维数组int

[问答题]

要把一维数组int a[m*n]的元素传送到二维数组int b[m][n]中,即在程序中要执行

b[i][j]=a[k];

请写出ki,j的下标变换公式,并用程序进行验证。

推荐

转换公式:    i=k/n  j=k%n

验证程序:

#include <iostream>
using namespace std;
int main()
{
const int M=3,N=4;
int k,a[M*N]={1,2,3,4,5,6,7,8,9,10,11,12}, b[M][N];
int i,j;
cout<<"array a:"<<endl;
for( k=0; k<M*N; k++ )
b[k/N][k%N] = a[k];
for( k=0; k<M*N; k++ )
cout<<a[k]<<'\t';
cout<<endl;
cout<<"**After convert**"<<endl;
cout<<"array b:"<<endl;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++) cout<<b[i][j]<<'\t';
cout<<endl;
}
}

发表于 2018-05-07 11:42:05 回复(0)