[問題] Dev C++ 如何將txt檔內的數據做處理

看板C_and_CPP作者 (Killen)時間11年前 (2013/07/17 19:21), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 以下是我txt黨內的數據資料,我想把它用c++,去將數字大小做分類 0-100內的數字有幾個,然後100-200內的數字有幾個,依此類推, 我是打算把數據存到矩陣之中,然後將每個數字除以100,就可以分類 但是我數據資料太多了,共有1048576個數據,我矩陣好像無法設定這麼大 所以請問有其他的寫法嗎???我的程式碼在下面,謝謝!!!! 278 427 454 555 989 1070 1195 1420 914 933 1251 1387 1883 1770 2266 1954 2147 2395 2423 3113 . . . . . . 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> #include <math.h> main(){ int NX,NY,i,j,n,time; NX=59; NY=17; int x[NX],y[NY]; FILE *read; read=fopen("123.txt","r"); if(read==NULL) printf("can't\n"); else printf("yes\n"); for(i=1;i<1048577;++i){ fscanf(read,"%d",&x[i]); } for(n=1;n<175418;++n){ y[n]=0; } for(i=1;i<1048577;++i){ for(n=1;n<175418;++n){ if ((n-1) < (x[i]*0.01) && (x[i]*0.01) < n){ y[n]=y[n]+1; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.233.201

07/17 19:28, , 1F
改用動態陣列即可
07/17 19:28, 1F

07/17 22:09, , 2F
樓上是對的, 但我記得好像可以去ide調記憶體大小
07/17 22:09, 2F

07/17 22:33, , 3F
這種簡單統計為什麼要通通塞陣列。
07/17 22:33, 3F

07/18 02:59, , 4F
我怎麼覺得最後那個雙層for有點多此一舉。
07/18 02:59, 4F

07/18 02:59, , 5F
另外下面這樣*0.01為什麼不用/呢?而且我猜答案是0...
07/18 02:59, 5F
文章代碼(AID): #1HvdvACC (C_and_CPP)
文章代碼(AID): #1HvdvACC (C_and_CPP)