全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:853
推到 Plurk!
推到 Facebook!

請問把二維陣列內容存到一維陣列

尚未結案
sunnysophia
一般會員


發表:8
回覆:4
積分:2
註冊:2004-11-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-03 23:26:34 IP:211.74.xxx.xxx 未訂閱
有個陣列的表示方式 我想好久不知道要怎麼寫 就是    A[0][0] A[0][1] A[0][2] A[1][0] A[1][1] A[1][2] A[2][0] A[2][1] A[2][2]     ps: A 是二維陣列    現在想寫一個B陣列 B是一維的陣列 而B陣列的內容如下    A[0][0]A[1][0]A[2][0]A[0][1]A[1][1]A[2][1]A[0][2]A[1][2]A[2][2]    利用迴圈 我怎麼表示B陣列呀???    我寫到一半 就不會寫了    for(j=0;j<3;j ) { for(i=0;i<3;i ) B[ ?不會寫 ] = A[ i ][ j ]; }
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-03 23:39:31 IP:211.76.xxx.xxx 未訂閱
我猜測你是想把目前A[0][0]~A[2][2]的內容全部合併在一起放在B陣列,是嗎? 如果是的話就改成以下的SOURCE....我是把全部的都合併到B[0]裡面,因為我不清楚你要做的到底是什麼只好先這樣寫...
for(j=0;j<3;j++)
{
   for(i=0;i<3;i++)
      B[0] += A[ i ][ j ];
}
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-03 23:44:31 IP:61.62.xxx.xxx 未訂閱
比方說 A 是 int A[3][3]; B 是 int B[3 * 3];
int p = 0;
for (int i = 0; i < 3; i  )
    for (int j = 0; j < 3; j  )
        B[p  ] = A[j][i];
B 的結果會是: B[0]=A[0][0] B[1]=A[1][0] B[2]=A[2][0] B[3]=A[0][1] B[4]=A[1][1] B[5]=A[2][1] B[6]=A[0][2] B[7]=A[1][2] B[8]=A[2][2] 發表人 - allenchan 於 2004/12/03 23:52:34
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-03 23:50:14 IP:61.62.xxx.xxx 未訂閱
int A[3][3]; int B[3 * 3]; 如果您要的結果是: A[0][0]A[0][1]A[0][2]A[1][0]A[1][1]A[1][2]A[2][0]A[2][1]A[2][2] 直接如下就可以了: memcpy(B, A, sizeof(B));
sunnysophia
一般會員


發表:8
回覆:4
積分:2
註冊:2004-11-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-03 23:55:47 IP:211.74.xxx.xxx 未訂閱
引言: 我猜測你是想把目前A[0][0]~A[2][2]的內容全部合併在一起放在B陣列,是嗎? 如果是的話就改成以下的SOURCE....我是把全部的都合併到B[0]裡面,因為我不清楚你要做的到底是什麼只好先這樣寫...
for(j=0;j<3;j++)
{
   for(i=0;i<3;i++)
      B[0] += A[ i ][ j ];
}
我是想B[0]=A[0][0] B[1]=A[1][0] B[2]=A[2][0] B[3]=A[0][1] B[4]=A[1][1] B[5]=A[2][1] B[6]=A[0][2] B[7]=A[1][2] B[8]=A[2][2] 要如何表示呢? 謝謝..
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-04 00:15:35 IP:61.62.xxx.xxx 未訂閱
哈哈,好緊急的一篇喔,答案請往上頭看。
clarinat
一般會員


發表:3
回覆:6
積分:1
註冊:2004-11-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-04 05:28:52 IP:220.141.xxx.xxx 未訂閱
引言: 我是想B[0]=A[0][0] B[1]=A[1][0] B[2]=A[2][0] B[3]=A[0][1] B[4]=A[1][1] B[5]=A[2][1] B[6]=A[0][2] B[7]=A[1][2] B[8]=A[2][2]
int B[9]; int A[3][3]; int k=0; for(int j=0;j<3;j ) for(int i=0;i<3;i ) { B[k]=A[i][j]; k ; }
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-04 09:17:37 IP:218.160.xxx.xxx 未訂閱
 
B[3*j i] = A[ i ][ j ];
系統時間:2024-06-27 0:15:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!