2015-06-06 5 views
1

Я реализую перевод кода Python на C++, однако я хочу разместить многомерный массив в другом многомерном индексе массива. Значения первого массива должны быть скопированы в определенный индекс другого 2D-массива.Многомерный массив в индексе многомерного массива 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[0][0] = a1; 
a[1][1] = a2; 
a[2][2] = a3; 

Кроме того, соответствующие for-loop для индекса массива.

+0

C-массивы не могут быть переданы. Вы можете использовать 'std :: array'. – Jarod42

ответ

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; 
    } 
+0

как проверить строку var2, где у меня есть char var2 [10] = "123"; – developer

Смежные вопросы