線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1703
推到 Plurk!
推到 Facebook!

動態配置記憶體-->二維矩陣有錯

缺席
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-09 22:04:43 IP:163.13.xxx.xxx 未訂閱
請問我程式這樣寫法,為何編譯時會錯勒。是我動態配置記憶體錯誤了嗎??? 我一定要按照SWITCH這種寫法,該如何修改,謝謝    
        
printf("\nProduct Type: 0 , 1 , 2\n\n");
printf("Enter product type : ");
scanf("%d",&product_type);
         switch( product_type )
        {
         case 0:Col = 100;  Row=50;
                     break;
         case 1: Col = 200;  Row=100;
          }    int **rawdata_array = new int *[Col][Row];
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-09 22:45:27 IP:211.76.xxx.xxx 未訂閱
引言: 請問我程式這樣寫法,為何編譯時會錯勒。是我動態配置記憶體錯誤了嗎??? 我一定要按照SWITCH這種寫法,該如何修改,謝謝
        
printf("\nProduct Type: 0 , 1 , 2\n\n");
printf("Enter product type : ");
scanf("%d",&product_type);
         switch( product_type )
        {
         case 0:Col = 100;  Row=50;
                     break;
         case 1: Col = 200;  Row=100;
          }    int **rawdata_array = new int *[Col][Row];此處不正確!    動態記憶體配置,每次只能得到所需型態的一維陣列。所以您上述的寫法並不正確,應略加修改如下:
int **rawdata_array = new int *[Row];
for (int k=0; k
此處有個相關的連結,您可參考看看。 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=69169 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-10 09:54:53 IP:220.130.xxx.xxx 未訂閱
RichTop你好:謝謝你的回應,我現在將程式修改如下為何會出現 [C++ Error] File1.c(77): E2451 Undefined symbol 'new' [C++ Error] File1.c(77): E2379 Statement missing ; [C++ Error] File1.c(80): E2379 Statement missing ; [C++ Warning] File1.c(81): W8069 Nonportable pointer conversion 這些錯誤
int **rawdata_array;
int p75_startX=53,p75_startY=42,p75Y=420;
int p75X=560,Row,Col,active_code=1,non_active_code=0;    if ( choose == 'n' )  
{
  for(y=p75_startY ; y <= (p75_startY p75Y) ; y  )
   {
     rawdata_array = new int *[Row];
       for ( x=p75_startX ; x <= (p75_startX p75X)
         rawdata_array[x] = new int [Col];
         rawdata_array[x] = active_code;
       }
     active_code = non_active_code;
   }
}
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-10 11:42:35 IP:211.76.xxx.xxx 未訂閱
iii0628 您好:    感覺上您好像要產生一個二維陣列,並分別將每一列交互的填入0與1。 您原先的寫法,會產生出太多的二維陣列。 至於錯誤訊息(您應該是用C++編譯吧?),無法經由程式片段得知,所以您先修改,看看是否錯誤能獲致改善。    
  int **rawdata_array;
  int p75_startX=53,p75_startY=42,p75Y=420;
  int p75X=560,Row,Col,active_code=1,non_active_code=0;
  char choose;      Row = p75Y - p75_startY   1;
  Col = p75X - p75_startX   1;      if ( choose == 'n' )
    {
      rawdata_array = new int *[Row];          for (int y=0; y    RichTop 敬上    =====*****
把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題!
=====#####
        
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-10 16:24:01 IP:220.130.xxx.xxx 未訂閱
RichTop你好:還是出現一樣的訊息,我看我還是改用別的寫法好了。因為這問              題已經困擾我很久了,謝謝你的回覆    
引言: iii0628 您好: 感覺上您好像要產生一個二維陣列,並分別將每一列交互的填入0與1。 您原先的寫法,會產生出太多的二維陣列。 至於錯誤訊息(您應該是用C 編譯吧?),無法經由程式片段得知,所以您先修改,看看是否錯誤能獲致改善。
  int **rawdata_array;
  int p75_startX=53,p75_startY=42,p75Y=420;
  int p75X=560,Row,Col,active_code=1,non_active_code=0;
  char choose;      Row = p75Y - p75_startY   1;
  Col = p75X - p75_startX   1;      if ( choose == 'n' )
    {
      rawdata_array = new int *[Row];          for (int y=0; y    RichTop 敬上    =====*****
把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題!
=====#####
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-10 16:59:09 IP:211.76.xxx.xxx 未訂閱
iii0628 您好:    您的問題應該不難解決,再試一試吧! 我個人有些疑問: 如果您是用
系統時間:2024-06-02 2:34:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!