[問題] 程式小問題(簡化程序)

看板C_and_CPP作者 (Killen)時間10年前 (2014/02/26 15:14), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) CPP 問題(Question): 假設我會讀取到任意整數x(0<x<1000),我想用C去劃出x的分布圖,假設讀了500次, 有480次x都是30,那分布圖上x=30的點就會有一個高峰,我的程式如下,雖然可以做到, 但x是已知的,程式這樣寫,每次都要從0-1000去確認,這樣感覺會跑很久,想請問有 比較簡單的方法嗎? (假設x是40,那我y[40]就+1) 謝謝!!!!! 程式碼(Code):(請善用置底文網頁, 記得排版) --------------------------------------- for(n=0;n<1000;++n) { if ( x == n ) { y[n]=y[n]+1; } } printf("%d %d",n,y[n]); --------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.76.101

02/26 15:23, , 1F
直接算y[x]?
02/26 15:23, 1F
嗯啊 不過要如何直接算呢 ※ 編輯: koogoo 來自: 140.113.76.101 (02/26 15:31)

02/26 16:08, , 2F
把你的那些迴圈都拿掉 直接y[x]++ 就結束了啊?
02/26 16:08, 2F
可是這樣不管任何x,y[x]不是都會+1嗎?? 我是想要,如果讀取到的x是5,那y[5]再加1 如果讀取到6,就是y[6]+1 ※ 編輯: koogoo 來自: 140.113.76.101 (02/26 16:25)

02/26 16:27, , 3F
你想要的跟「不管任何x,y[x]都加一」有什麼不一樣
02/26 16:27, 3F

02/26 16:27, , 4F
非常深奧
02/26 16:27, 4F
謝謝各位大大 我懂了.... ※ 編輯: koogoo 來自: 140.113.76.101 (02/26 16:33)

02/26 19:49, , 5F
for(x=0;x<1000;++x) {y[x]++;}
02/26 19:49, 5F
文章代碼(AID): #1J3PHpMZ (C_and_CPP)