看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《jord98972005 (舊的)》之銘言: : 最近開始學C++ 老師出了個作業要亂數產生50個數字並且由大到底降冪排序 : 網路找了找改了改中間有一段看不太懂 : using namespace std; : struct data : { : int c; : }; : #define NUMBER 50 : int main() : { : struct data math[NUMBER]; : srand(int(time(0))); : int i,j; for(i=0;i<NUMBER;i++) { math[i].c=rand()%101+0; 亂數產生50個數字 0~100 } //排序 unsigned nCount[100]={0}; for(i=0 ; i < NUMBER ; ++i) { nCount[math[i].c]++; 計算0~100各出現幾次,放進nCount } j=0; for( i=0 ; i < 100 ; ++i) { int k; for( k=0 ; k < nCount[i] ; ++k,++j) 把結果從0開始找,存進math[] math[j].c=i; } // 排序結束 這邊會從小的數字開始找,存在的值寫進去math,沒有就跳過 : // 輸出排序結果 : cout << "排序結果\n"; : for(i=0;i<NUMBER;i++) : { : cout << (math[i].c) << endl; : } : system("pause"); : return 0; : } : 這裡面的程式碼是升冪排序 但是中間 排序~排序結束那幾行我看不太懂.. : 可以請教大大們該怎麼讀 : 另外降冪的reverse要如何用在這種寫法裡面呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.58.172