Как указано в заголовке, я хочу объединить два массива в один более массивный массив. например:Объединение двух массивов 3 на 3 в один массив в C++
array1= 1 2 3
4 5 6
7 8 9
array1= 10 20 30
40 50 60
70 80 90
array3= 1 2 3 10 20 30
4 5 6 40 50 60
7 8 9 70 80 90
Итак, я написал этот код:
#include <iostream>
using namespace std;
int main()
{
int array1[3][3],array2[3][3],array3[3][6];
int i,j;
//Matrix 1 input
cout<<"Enter matrix 1\n";
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
cin>>array1[i][j];
array3[i][j]=array1[i][j]; //Assigning array1 values to array3
}
}
//array2 input
cout<<"Enter matrix 2\n";
for (i=0;i<3;i++)
{
for (j=3;j<6;j++)
{
cin>>array2[i][j];
array3[i][j]=array2[i][j]; //Assigning array2 values to array3
}
}
//array3 output
cout<<"New matrix is\n";
for (i=0;i<3;i++)
{
for (j=0;j<6;j++)
{
cout<<array3[i][j]<<"\t";
}
cout<<"\n";
}
}
Но когда я исполню его, я закончил с последней строкой массив2 является (2,3), (2,4) и (2,5) элементов (что является правильным), но также являются (0,1), (0,2) и (0,3) элементами (которые должны быть [1 2 3]).
array3= 70 80 90 10 20 30
4 5 6 40 50 60
7 8 9 70 80 90
Итак, что здесь происходит?
EDIT: я сделал следующее:
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
cin>>array2[i][j];
array3[i][j+3]=array2[i][j]; //Assigning array2 values to array3 and adding 3 to j
}
И это пошло нормально. Является ли метод «профессиональным»? }
Вы пробовали отладки кода? – Kindread
В вашей части 'array2 input'' '' '[3,6)', а 'array2' -' array2 [3] [3] ' – justmscs