[英]Conversion of 1-D array to 2-D array
我试图将一维数组转换为二维数组。 例如,如果一维数组看起来像这样 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++;
}
}
}
PS:我已经排除了所有头文件,我不需要帮助。 请告诉我我在逻辑中犯的错误。 我正在使用 Turbo C++ 4.5。 提前致谢!
只是指出错误
在这个循环中,我应该从 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++; } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.