我试图将1-D阵列转换为2-D阵列。例如,如果1-D阵列看起来像这样1 2 3 4;二维数组看起来应该是这样的 1 2 3 4 1 2 3 0 1 2 0 0 1 0 0 0 为此,我尝试了以下代码:
void main()
{
int n;
cout<<"\nEnter the size of the 1D array";
cin>>n;
int *p=new int[n];
int *m=new int[n][n];
for (int i=0;i<n;i++)
{
cin>>p[i];
}
for(int j=0;j<n;j++)
{
m[i][j]=0;
}
for(int i=n;i>=0;i--)
{
int x=0;
for(int j=0;j<i;j++)
{
m[x][j]=p[x];
x++;
}
}
}
P.S:我已经排除了所有的头文件,我不需要帮助。请告诉我我在逻辑中犯的错误。我正在使用Turbo C ++ 4.5。 提前谢谢!
答案 0 :(得分:0)
指出错误
在这个循环中,我应该从n-1开始。
for(int i=n;i>=0;i--)
{
int x=0;
for(int j=0;j<i;j++)
{
m[x][j]=p[x];
x++;
}
}