Re: [問題] ITSA第24次第4題

看板C_and_CPP作者 (kkk)時間11年前 (2014/05/04 06:15), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/4 (看更多)
我拿你的code去編譯 發現要加#include<string.h> 或 include<cstring>才會編過 <cName>是在C++引用C的header<Name.h>的習慣 這題有兩個重點: 1.先排序不重要的index再排序重要的 2.如何用標準庫排序自定義類型 以下是我改寫的code,可以參考一下 #include <iostream> #include <vector> #include <algorithm> #include <functional> #include <string> using namespace std; struct playerInfo { int salary; int fans; string name; }; bool by_salary(const playerInfo& p1,const playerInfo& p2) { return p1.salary > p2.salary; } bool by_fans(const playerInfo& p1,const playerInfo& p2) { return p1.fans > p2.fans; } int main(){ vector<playerInfo > playerList; unsigned int size=0; cin>>size; for(int i=0;i<size;i++) //input player's information { playerInfo temp; cin>>temp.name>>temp.salary>>temp.fans; playerList.push_back(temp); } sort(playerList.begin(),playerList.end(),by_fans); sort(playerList.begin(),playerList.end(),by_salary); for(int i=0;i<size;i++) //output player's information cout<<playerList[i].name<< (i<size-1 ? ' ':'\n'); return 0; } ※ 引述《ga544523 (美麗新世界)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : c++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : iostream : 問題(Question): : http://truth.bahamut.com.tw/s01/201405/2827e54fa6e7853d0a80ffab1381d289.JPG
: 錯誤結果(Wrong Output): : http://truth.bahamut.com.tw/s01/201405/08372dfa3afb99c7500459ef7f41b9e9.JPG
: 程式碼(Code):(請善用置底文網頁, 記得排版) : #include<iostream> : using namespace std; : int main(){ : char (*a)[50] = new char[100000][50]; : char (*tmp)[50] = new char[100000][50]; : long long (*b)= new long long[100000]; : long long (*c)= new long long[100000]; : long long d; : cin>>d; : for(int i=0;i<d;i++){ : cin>>a[i]; : cin>>b[i]; : cin>>c[i]; : } : for(int j=0;j<d-1;j++){ : for(int i=0;i<d;i++){ : if(b[i]<b[i+1]){ : strcpy(tmp[i],a[i]); : strcpy(a[i],a[i+1]); : strcpy(a[i+1],tmp[i]); : swap(b[i],b[i+1]); : swap(c[i],c[i+1]); : } : if(b[i]==b[i+1]&&c[i]<c[i+1]){ : strcpy(tmp[i],a[i]); : strcpy(a[i],a[i+1]); : strcpy(a[i+1],tmp[i]); : swap(b[i],b[i+1]); : swap(c[i],c[i+1]);}}} : for(int i=0;i<d;i++){ : cout<<a[i]<<" ";} : delete [] a; : delete [] tmp; : delete [] b; : delete [] c; : return 0;} : 補充說明(Supplement): : 這是我的執行畫面 : http://truth.bahamut.com.tw/s01/201405/5baabcea5be42fd24b659947cde82090.JPG
: 是我搞錯題目意思還是哪裡打錯了嗎 : 測試沒問題阿(應該巴.) : 傳上去卻一直說錯誤 : ptt好難用喔 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.245.229 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1399184138.A.A31.html

05/04 15:35, , 1F
先推
05/04 15:35, 1F

05/05 04:01, , 2F
好球
05/05 04:01, 2F
文章代碼(AID): #1JPTiAen (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
1
6
以下文章回應了本文
完整討論串 (本文為第 2 之 4 篇):
問題
1
6
文章代碼(AID): #1JPTiAen (C_and_CPP)