没过编译....求助大佬这一大长串error啥意思

P5740 【深基7.例9】最厉害的学生

```cpp #include <bits/stdc++.h> using namespace std; struct Student{ string name; int yuwen; int shuxue; int yingyu; bool operator < (Student o){ int sum1 = yingyu + shuxue + yuwen; int sum2 = o.yuwen+o.yingyu+o.shuxue; return sum1<sum2; } }stu[1020]; int main(){ int N; cin >> N; for(int i=0;i<N;i++){ cin >> stu[i].name >> stu[i].yuwen >> stu[i].shuxue >> stu[i].yingyu; } sort(stu,stu+N); cout << stu[N-1].name <<" "<< stu[N-1].yuwen <<" "<< stu[N-1].shuxue <<" "<< stu[N-1].yingyu; system("pause"); return 0; } ```
by lingfunny @ 2020-04-18 10:25:07


@[AMIRIOX無暝](/user/320697) 没用过stable_sort,就用sort了
by lingfunny @ 2020-04-18 10:25:39


解决了!!!
by AMIRIOX無暝 @ 2020-04-18 10:28:26


@[lingfunny](/user/280800) 重载运算符要const,我解决了
by AMIRIOX無暝 @ 2020-04-18 10:28:49


@[lingfunny](/user/280800) `stable_sort`稳定快排,这题说如有成绩相等去往前的 这样就好了 ```c++ bool operator>(const Student o) const{ int sum1 = yingyu+shuxue+yuwen; int sum2 = o.yuwen+o.yingyu+o.shuxue; return sum1>sum2; } bool operator<(const Student o) const{ int sum1 = yingyu+shuxue+yuwen; int sum2 = o.yuwen+o.yingyu+o.shuxue; return sum1<sum2; } ```
by AMIRIOX無暝 @ 2020-04-18 10:30:17


@[lingfunny](/user/280800) 谢谢大佬!$stO$
by AMIRIOX無暝 @ 2020-04-18 10:33:04


一般来讲这种爆错几百乃至几千行的都是STL用的有问题。。。
by CreeperLordVader @ 2020-04-18 10:34:35


你加个`system("pause")`是没用的,赶快删掉
by 警策看取 @ 2020-04-18 10:38:24


不谢 ```cpp #include<bits/stdc++.h> using namespace std; struct ren{ string a; int x,y,z,zong; }; int main() { ren k[1000]; int n; cin>>n; for(int i=0;i<n;i++){ cin>>k[i].a>>k[i].x>>k[i].y>>k[i].z; k[i].zong=k[i].x+k[i].y+k[i].z; } int max=-1; for(int i=0;i<n;i++){ if(k[i].zong>max)max=k[i].zong; } for(int i=0;i<n;i++){ if(max==k[i].zong){ cout<<k[i].a<<" "<<k[i].x<<" "<<k[i].y<<" "<<k[i].z; break; } } return 0; } ``` 照着理解理解,改一下
by Na2_CuCl4 @ 2020-06-16 21:22:04


stable_sort(stu,stu+N); 建议不要用sort,有些地方识别不了,stable_sort就更算了 用max排序,也许会好一些
by Na2_CuCl4 @ 2020-06-16 21:24:29


上一页 |