C ++ 2D数组到1D数组

安东·安东诺夫(Anton Antonov)

我正在尝试将2D数组转换为1D。我是C / C ++的新手,但我认为学习如何将2D数组转换为1D非常重要。因此,我在这里绊倒了这个问题。

到目前为止,我的代码是http://ideone.com/zvjKwP

#include<iostream>

using namespace std;

int main()
{

int n=0,m=0; // 2D array nRow, nCol
int a[n][m];
int i,j; // цикъл въвеждане 2D
int q,p,t; // for 2D=>1D
int b[100];
int r; // for cout
cout<<"Enter the array's number of rows and columns: ";
cin>>n>>m;

// entering values for the 2D array
    for (i = 0;i<=n;i++)
    {
        for (j = 0;j<=m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]="<<endl;
            cin>>a[i][j];
            cin.ignore();
        }
    }

  // Most likely the failzone IMO
  for (q = 0;q<=i;q++)
    {
        for (t = 0;t<=i*j+j;t++)
        {
            b[t] = a[i][j];
        }
    }
    // attempting to print the 1D values
     cout<<"The values in the array are"<<"\n";
    for(r=0;r<=t;r++)
    {
        cout<<"b["<<r<<"] = "<<b[r]<<endl;
    }

    cin.get();
    return 0;
    }

我在我认为失败的地方发表了评论。

我还必须将进入一维的数字限制为value ^ 2大于50的数字。但是可以肯定的是,我必须通过转换2D => 1D来解决问题。您能帮帮我吗?

鲍里斯·斯特兰杰夫(Boris Strandjev)

您的假设是正确的:

周期应为:

for (q = 0; q < n; q++)
{
    for (t = 0; t < m; t++)
    {
        b[q * m + t] = a[q][t];
    }
}

从高维数组的角度考虑这样的转换总是比较容易。而且你的代码,你实际上并没有修改ijb指定周期,所以你不应该期望不同的值被分配到不同的阵列成员b

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C ++中将1D数组作为2D数组访问

来自分类Dev

C ++-1D中的动态数组有效,而2D中的动态数组无效

来自分类Dev

排序2D数组C ++

来自分类Dev

C ++ AMP中1D和2D数组上operator []的行为。

来自分类Dev

C ++填充2D数组

来自分类Dev

复制2D数组C ++

来自分类Dev

C ++函数调用2D数组

来自分类Dev

C:指向2d数组的指针

来自分类Dev

在C中分配2D数组

来自分类Dev

从C中的2D数组中产生1D数组

来自分类Dev

C ++语法差异:2D和1D数组(指针算术)

来自分类Dev

C语言2d数组用1到n的数字填充对角线

来自分类Dev

在C ++中,2D数组在整体操作上是否比行为像2D数组的1D数组慢?

来自分类Dev

如何在C ++中将OpenCV 2D矩阵转换为1D数组?

来自分类Dev

为什么在C ++中2D和1D数组中auto在“范围为”中的工作方式不同

来自分类Dev

如何使用C ++将2D矩阵的元素垂直复制到1D数组

来自分类Dev

在C中如何基于1D数组分配2D数组?

来自分类Dev

是否可以使用1D索引访问C ++ 2D int数组?

来自分类Dev

在C ++中通过引用传递1d和2d数组

来自分类Dev

在C ++中的2D数组中声明指向1D数组的指针

来自分类Dev

在C ++中使用1D数组初始化2D数组

来自分类Dev

函数中的C memcpy 2D数组到3D数组

来自分类Dev

尝试填充2d数组,但它仍然是1d数组C ++

来自分类Dev

从C中现有的1D数组创建2D数组?

来自分类Dev

用1d char数组附加2d char数组(在C中)

来自分类Dev

Visual C#如何将两个1D string []数组合并为一个2D string [,]数组

来自分类Dev

从实体到2D数组的C#LINQ

来自分类Dev

如何在c ++中以特定形式将内容从1d数组传输到2d数组?

来自分类Dev

StreamReader 到数组 2d C#

Related 相关文章

热门标签

归档