已知陣列A包含 :6400個資料, 組成 寬 40*長160的長方形圖形。
目前需求 需要用C語言 把陣列A中的數值 賦值到陣列B中:切割長方形的圖形資料的第一列和倒數三列,形成36*160的長方形圖形。
舉例 陣列 A
0 , 1......36,37,38,39
40,41......76,77,78,79
陣列 B 需要
B 【0】=A【1】,
B 【1】=A【2】
B【35】=A【36】
B【36】=A【41】
B【37】=A【42】
B【38】=A【43】
uj5u.com熱心網友回復:
int A[160][40] ;int B[160][36];
for ( int row=0; row<160; row++) {
memcpy( B[row], A[row]+1, 36*sizeof(int));
}
或者
for ( int row=0; row<160; row++) {
for (int col=1; col<37; col++)
B[row][col-1] = A[row][col];
}
uj5u.com熱心網友回復:
請教一下 ,如果陣列是一維的 應該怎樣寫哈?不知道哪里出錯了 影像尾部總是出來的資料總是不對 。感謝!@~
uj5u.com熱心網友回復:
一維陣列也一樣啊,借用上面的代碼int A[160*40] ;
int B[160*36];
for ( int row=0; row<160; row++) {
memcpy( &B[row*36], &A[row*40+1], 36*sizeof(int));
}
或者
for ( int row=0; row<160; row++) {
for (int col=1; col<37; col++)
B[row+col-1] = A[row+col];
}
uj5u.com熱心網友回復:
上面遺漏了,修改一下for ( int row=0; row<160; row++) {
for (int col=1; col<37; col++)
B[36*row+col-1] = A[40*row+col];
}
uj5u.com熱心網友回復:
非常感謝??已經成功解決了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143525.html
標籤:C語言
上一篇:C語言
