[問題] 請問陣列運算

看板C_and_CPP (C/C++)作者 (我還存在耶)時間4年前 (2020/12/16 22:26), 4年前編輯推噓9(9020)
留言29則, 9人參與, 4年前最新討論串1/2 (看更多)
請教一下 我有個 輸入: 一維arr[240]={0,1,2,3,4,5,.....239} (為了方便記憶,寫有順序排列,之後陣列值會變動!) 想轉成底下5x48陣列,排列如下 0, 1, 2, 3,.........47 48, 49, 50, 51,........95 96, 97, 98, 99,.......143 144,145,146,147,......191 192,193,194,195,..238,239 想做底下陣列運算 直列來看,二個一組相減,有點複雜,請問該怎麼寫c code>< 示意圖如下: https://ibb.co/mzM6Mqt 想要輸出: 48-0, 1-1, 50-2, 3-3,............47-47 48-48, 97-49, 50-50, 99-51,...........143-95 144-96, 97-97, 146-98, 99-99,..........143-143 144-144,193-145,146-146, 195-147,..........239-191 1-192,193-193, 3-194, 195-195,...47-238,239-239 想法是: 要把一維陣列轉成5x48陣列,在做反轉陣列,變成48x5,在轉成一維陣列 目的是2個為一組,再作減法,比較有序, 最後再把一維陣列轉回上面的圖>< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.224.77 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1608128783.A.0D4.html ※ 編輯: liptonbin (1.200.224.77 臺灣), 12/16/2020 22:31:12

12/16 22:32, 4年前 , 1F
有進精華區的潛力 XD
12/16 22:32, 1F

12/16 22:44, 4年前 , 2F
先從比較小的陣列開始試寫
12/16 22:44, 2F

12/16 23:03, 4年前 , 3F
自己的想法呢?不補就砍文
12/16 23:03, 3F

12/16 23:04, 4年前 , 4F
感覺會變成惡搞系列文的開頭
12/16 23:04, 4F

12/16 23:05, 4年前 , 5F
因為很難弄出規則
12/16 23:05, 5F

12/16 23:06, 4年前 , 6F
想法我也還在想
12/16 23:06, 6F

12/16 23:09, 4年前 , 7F
但是你的範例很奇怪,是不是寫錯了,敘述也不清楚
12/16 23:09, 7F

12/16 23:10, 4年前 , 8F
要不然應該只是印金字塔的大一計程作業等級的題目而已
12/16 23:10, 8F
※ 編輯: liptonbin (1.200.224.77 臺灣), 12/16/2020 23:49:59

12/16 23:50, 4年前 , 9F
不好意思,示意圖和想法如上補充
12/16 23:50, 9F

12/17 00:38, 4年前 , 10F
這樣你的輸出是不是完全不對?
12/17 00:38, 10F

12/17 00:39, 4年前 , 11F
輸出的資料和示意圖的示意完全對不上
12/17 00:39, 11F

12/17 00:40, 4年前 , 12F
啊我看懂了,這跟陣列完全沒關係
12/17 00:40, 12F

12/17 00:41, 4年前 , 13F
就只是兩兩分組,然後輸出 (A2-A1), (A2-A2) 放在原位
12/17 00:41, 13F

12/17 00:42, 4年前 , 14F
你的腦筋打結了,不要去想陣列,直接計算「組員」位置
12/17 00:42, 14F

12/17 00:43, 4年前 , 15F
會比較順,因為「組員」的輸出位置和輸入一模一樣
12/17 00:43, 15F

12/17 00:44, 4年前 , 16F
別想太複雜了,這比星號金字塔還簡單,就單迴圈解決
12/17 00:44, 16F

12/17 10:49, 4年前 , 17F
A2-A1如果一維很好處理,可是這邊是二維排列下(直看)的
12/17 10:49, 17F

12/17 10:49, 4年前 , 18F
A2-A1就很麻煩
12/17 10:49, 18F

12/17 12:01, 4年前 , 19F
座標做一些轉換後一維可以當作二維在跑,想想某格在一
12/17 12:01, 19F

12/17 12:01, 4年前 , 20F
維的位置跟它在二維的關係。另外遍歷二維陣列的時候試
12/17 12:01, 20F

12/17 12:01, 4年前 , 21F
試把兩個迴圈對調看會發生什麼事情~
12/17 12:01, 21F

12/17 13:13, 4年前 , 22F
所有的問題都可以轉成 range 問題, 只要定義好巡訪方
12/17 13:13, 22F

12/17 13:13, 4年前 , 23F
式就好
12/17 13:13, 23F

12/17 15:45, 4年前 , 24F

12/17 19:42, 4年前 , 25F
樓上結果約有一半是錯的,且只有i為0和239時的算式是對的.
12/17 19:42, 25F

12/17 19:47, 4年前 , 26F
x=48,y=5;j=(i%x)*y+(i/x),j|=1;k=(j%y)*x+(j/y);a[k]-a[i];
12/17 19:47, 26F

12/17 20:34, 4年前 , 27F
12/17 20:34, 27F

12/17 22:41, 4年前 , 28F
我有驗證過 沒錯啊
12/17 22:41, 28F

12/17 22:53, 4年前 , 29F
文章代碼(AID): #1VsXaF3K (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1VsXaF3K (C_and_CPP)