看板 C_and_CPP 關於我們 聯絡資訊
請教一下 我有個 輸入: 一維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
ctrlbreak: 有進精華區的潛力 XD 12/16 22:32
nh60211as: 先從比較小的陣列開始試寫 12/16 22:44
wtchen: 自己的想法呢?不補就砍文 12/16 23:03
Schottky: 感覺會變成惡搞系列文的開頭 12/16 23:04
liptonbin: 因為很難弄出規則 12/16 23:05
liptonbin: 想法我也還在想 12/16 23:06
Schottky: 但是你的範例很奇怪,是不是寫錯了,敘述也不清楚 12/16 23:09
Schottky: 要不然應該只是印金字塔的大一計程作業等級的題目而已 12/16 23:10
※ 編輯: liptonbin (1.200.224.77 臺灣), 12/16/2020 23:49:59
liptonbin: 不好意思,示意圖和想法如上補充 12/16 23:50
Schottky: 這樣你的輸出是不是完全不對? 12/17 00:38
Schottky: 輸出的資料和示意圖的示意完全對不上 12/17 00:39
Schottky: 啊我看懂了,這跟陣列完全沒關係 12/17 00:40
Schottky: 就只是兩兩分組,然後輸出 (A2-A1), (A2-A2) 放在原位 12/17 00:41
Schottky: 你的腦筋打結了,不要去想陣列,直接計算「組員」位置 12/17 00:42
Schottky: 會比較順,因為「組員」的輸出位置和輸入一模一樣 12/17 00:43
Schottky: 別想太複雜了,這比星號金字塔還簡單,就單迴圈解決 12/17 00:44
liptonbin: A2-A1如果一維很好處理,可是這邊是二維排列下(直看)的 12/17 10:49
liptonbin: A2-A1就很麻煩 12/17 10:49
NciscalA: 座標做一些轉換後一維可以當作二維在跑,想想某格在一 12/17 12:01
NciscalA: 維的位置跟它在二維的關係。另外遍歷二維陣列的時候試 12/17 12:01
NciscalA: 試把兩個迴圈對調看會發生什麼事情~ 12/17 12:01
loveme00835: 所有的問題都可以轉成 range 問題, 只要定義好巡訪方 12/17 13:13
loveme00835: 式就好 12/17 13:13
gragon: https://i.imgur.com/DCm458T.jpg 12/17 15:45
yvb: 樓上結果約有一半是錯的,且只有i為0和239時的算式是對的. 12/17 19:42
yvb: 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
Schottky: https://ideone.com/XJ2OME 真的很簡單 12/17 20:34
gragon: 我有驗證過 沒錯啊 12/17 22:41
gragon: https://ideone.com/1iPjO0 12/17 22:53
yvb: 原來如此, 對照原PO想要的輸出, i=1在你的i=5,i=2在i=10,... 12/20 23:06
yvb: 也就是還差了半套 -- 矩陣的轉置. 12/20 23:08
stock999: 別照著規則做,要對規則有想法再照想法做。 12/26 11:40