多维数组索引 C++ 中的多维数组

Posted

技术标签:

【中文标题】多维数组索引 C++ 中的多维数组【英文标题】:Multidimensional array in Multidimensional array index C++ 【发布时间】:2015-06-06 17:45:11 【问题描述】:

我正在实现将Python 代码转换为C++,但是我想将一个多维数组放在另一个多维数组索引处。第一个数组的值应复制到其他二维数组的特定索引。

这是我的 Python 代码:

var2 = "121"
a = [None for x in xrange(3)]
a[0] = [3,4,5],[6,4,7]
a[1] = [3,9,6],[7,8,7]
a[2] = [4,8,7],[7,6,7]

for x in var2:
    print 'Value:',x,'\t'

这是我的 C++ 代码:

 int a1[2][3] = 
        3,4,5,
        6,4,7
    ;

    int a2[2][3] = 
        3,9,6,
        7,8,7
    ;

    int a3[2][3] = 
        4,8,7,
        7,6,7
    ;

现在我有一个数组:

int a[3][];

我想将 a1 复制到a[0][0],就像在我的 python 代码中一样。

我的问题是,如何将 a1、a2、a3 复制到数组 a 中:

a[0][0] = a1;
a[1][1] = a2;
a[2][2] = a3;

另外,数组索引对应的for-loop

【问题讨论】:

C 数组不可分配。你可以使用std::array 【参考方案1】:

直接初始化数组以保存数据的一种方法是:

int a[3][2][3] = 

        3,4,5,
        6,4,7,,

        3,9,6,
        7,8,7,,

        4,8,7,
        7,6,7
    ;


for( int i=0; i<3; i++ )
        for( int j=0; j<2; j++ )
            for( int k=0; k<3; k++ )
                cout<<a[i][j][k]<<'\t';
            
            cout<<endl;
        
        cout<<endl<<endl;
    

【讨论】:

如何检查 var2 字符串,我有 char var2[10] = "123";

以上是关于多维数组索引 C++ 中的多维数组的主要内容,如果未能解决你的问题,请参考以下文章

如何针对 C、C++ 或 Fortran 中的另一个多维数组快速对多维数组进行十亿点排序?

C++ 数组与字符串⁽²²⁾|多维数组

Java中的多维数组长度

C++中的指针和多维数组

如何将多维动态数组传递给C++中的函数

将c多维数组转换为多维c++向量