[問題] VC++ 一維陣列太大

看板C_and_CPP作者 (我很窮)時間14年前 (2011/05/31 12:57), 編輯推噓7(7022)
留言29則, 14人參與, 最新討論串1/2 (看更多)
請問一下 由於我的一維陣列相當大 因此選擇用動態一維陣列來做 以下是我的程式碼 大致上是參考GOOGLE的一些範例 int m=0, A=220000; int *M = new int [A]; for(m=0; m<A; m++); { M[m] = new int[A] ; <-------- ERROR } for(m=0; m<A; m++); { delete [] M; } delete M; 不過compiler會顯示 "無法由 'int *' 轉換為 'int' " 請問我的問題出在哪呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.156.124

05/31 21:07, , 1F
當然不對, 請問你兩個for迴圈是要幹嘛的,我看你自己也不知
05/31 21:07, 1F

05/31 21:08, , 2F
道吧
05/31 21:08, 2F

05/31 21:08, , 3F
二維陣列的開局
05/31 21:08, 3F

05/31 21:10, , 4F
他是要動態一維
05/31 21:10, 4F

05/31 21:15, , 5F
扣除第二個迴圈的話
05/31 21:15, 5F

05/31 21:24, , 6F
M[m] = new int[A] ;-->M[m] = m;,你先把當他array來用
05/31 21:24, 6F

05/31 21:24, , 7F
= =你那用法不倫不類,我也不知道怎麼矯正觀念
05/31 21:24, 7F

05/31 21:27, , 8F
最快辦法去找書本有一維,二維陣列的範例,你看懂後,
05/31 21:27, 8F

05/31 21:28, , 9F
你可能自己也會發笑.
05/31 21:28, 9F

05/31 21:29, , 10F
http://pastie.org/1998135 一維的話這樣就夠了
05/31 21:29, 10F

05/31 21:29, , 11F
220000*220000*4 大約需要180.3GB的記憶體空間
05/31 21:29, 11F

05/31 21:39, , 12F
你這陣列的主要用圖是幹嘛的請先說明.
05/31 21:39, 12F

05/31 21:46, , 13F
做一張image的處理 pixel大概是500*300 只用一維陣列做
05/31 21:46, 13F

05/31 22:00, , 14F
所以我給的範例是可以的嗎...?
05/31 22:00, 14F

05/31 22:08, , 15F
我覺得怪怪的,圖是二維的,為何他用一維?
05/31 22:08, 15F

05/31 22:10, , 16F
int *M = new int [A]; 你倒底是要用一維還二維?
05/31 22:10, 16F

05/31 22:11, , 17F
你的範例他還是顯示太大
05/31 22:11, 17F

05/31 22:13, , 18F
我是把每個pixel的灰度值存在一維陣列然後做統計
05/31 22:13, 18F

05/31 22:14, , 19F
不過看來只能用二維去做做看了
05/31 22:14, 19F

05/31 22:16, , 20F
有一個辦法,把它改成goble 變數.
05/31 22:16, 20F

05/31 22:18, , 21F
顯示太大←這是什麼?
05/31 22:18, 21F

05/31 22:20, , 22F
就是陣列太大 無法執行
05/31 22:20, 22F

05/31 22:26, , 23F
500*300 = 150,000 這樣就夠啦 你是要存幾張呀?
05/31 22:26, 23F

05/31 22:38, , 24F
int *M = new int [A]; 這行怪怪的............
05/31 22:38, 24F

06/01 01:33, , 25F
int *M = new int [A]; 這行沒問題吧?
06/01 01:33, 25F

06/01 02:32, , 26F
看怎麼解讀啦, 若解讀成原po想開2維動態, 那行是怪怪的.
06/01 02:32, 26F

06/01 02:34, , 27F
雖然說原po文章裡寫了想開一維陣列....XDD
06/01 02:34, 27F

06/01 05:00, , 28F
500*300 而已不用 new 吧 ....
06/01 05:00, 28F

06/01 10:35, , 29F
把(int*)new int [A] 給 (int)M[m]?
06/01 10:35, 29F
文章代碼(AID): #1DvEM-8F (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DvEM-8F (C_and_CPP)