讀取輸入到一個陣列中後:讀陣列2點的尺寸以另一種方式C++
std::vector<unsigned char *> inputs(elements);
的「inputs
」是一個2維陣列:inputs[3][2]
,然後讀此陣列出,這些值是:
inputs[0][0]=1
inputs[0][1]=2
inputs[1][0]=3
inputs[1][1]=4
inputs[2][0]=5
inputs[2][1]=6
我想讀此2維陣列成一個維陣列:
int counter=0;
int * allElements = new int[6];
for(int i=0; i<3; i++)
for(int j=0; j<2; j++)
{
allElements[counter++] = (int)inputs[i][j];
}
這是讀取所有的元素融入到一個維數組傳統的方式,我相信,如果我讀的「allElements
」這樣的元素:
for(int i=0; i<6; i++)
printf("%d ", allElements[i]);
,它應該是:1 2 3 4 5 6
然而,我想讀二維數組的所有元素融入到一個維數組,這樣當我不喜歡這樣寫道:
for(int i=0; i<6; i++)
printf("%d ", allElements[i]);
它應該是:1 3 5 2 4 6
換言之,首先讀取二維數組的所有第一個元素。
我該如何做到這一點?
爲什麼使用'unsigned char *'而不是'vector'? –
moshbear