#2802
Clasa
Se citește de la tastatură numărul n
și un număr p
cu valoarea 1
sau 2
și apoi n
șiruri de tip nume prenume media1 media2 media3
separate prin spații.
Pentru p=1
, se va afișa numărul elevilor care au media generală mai mare sau egală decât media clasei.
Pentru p=2
, se va afișa pe primul rând media clasei și pe următoarele n
rânduri, numele, prenumele și media generală a fiecărui elev, separate printr-un singur spațiu, sortat descrescător după medie; la medii egale se sortează crescător după nume, iar la nume egale crescător după prenume.
Problema | Clasa | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.01 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #22052919 | Utilizator | |
Fișier | clasa.cpp | Dimensiune | 954 B |
Data încărcării | 23 Martie 2020, 18:57 | Scor / rezultat | Eroare de compilare |
clasa.cpp:1:21: warning: extra tokens at end of #include directive [enabled by default] #include <iostream> #include <cmath> #include <algorithm> #include <iomanip> using namespace std; struct elev { string nume, prenume; double medie1, medie2, medie3; double mediegen; }; elev elevi[101]; bool cmp(elev e1, elev e2) { if(e1.mediegen==e2.mediegen) { if(e1.nume==e2.nume) return e1.prenume<e2.prenume; else return e1.nume<e2.nume; } return e1.mediegen>e2.mediegen; } int main() { int n,p; cin>>n>>p; for(int i=0;i<n;i++) { cin>>elevi[i].nume>>elevi[i].prenume>>elevi[i].medie1>>elevi[i].medie2>>elevi[i].medie3; elevi[i].mediegen=(elevi[i].medie1+elevi[i].medie2+elevi[i].medie3)/3.0; } sort(&elevi[0], &elevi[n], cmp); double medie=0; for(int i=0;i<n;i++) medie+=elevi[i].mediegen; if(p==1) { int cnt=0; for(int i=0;i<n;i++) { if(elevi[i].mediegen>=(medie/n)) cnt++; } cout<<cnt; } else { cout<<fixed<<setprecision(2)<<medie/n<<"\n"; for(int i=0;i<n;i++) cout<<elevi[i].nume<<" "<<elevi[i].prenume<<" "<<elevi[i].mediegen<<"\n"; } return 0; } ^ clasa.cpp:1:301: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] #include <iostream> #include <cmath> #include <algorithm> #include <iomanip> using namespace std; struct elev { string nume, prenume; double medie1, medie2, medie3; double mediegen; }; elev elevi[101]; bool cmp(elev e1, elev e2) { if(e1.mediegen==e2.mediegen) { if(e1.nume==e2.nume) return e1.prenume<e2.prenume; else return e1.nume<e2.nume; } return e1.mediegen>e2.mediegen; } int main() { int n,p; cin>>n>>p; for(int i=0;i<n;i++) { cin>>elevi[i].nume>>elevi[i].prenume>>elevi[i].medie1>>elevi[i].medie2>>elevi[i].medie3; elevi[i].mediegen=(elevi[i].medie1+elevi[i].medie2+elevi[i].medie3)/3.0; } sort(&elevi[0], &elevi[n], cmp); double medie=0; for(int i=0;i<n;i++) medie+=elevi[i].mediegen; if(p==1) { int cnt=0; for(int i=0;i<n;i++) { if(elevi[i].mediegen>=(medie/n)) cnt++; } cout<<cnt; } else { cout<<fixed<<setprecision(2)<<medie/n<<"\n"; for(int i=0;i<n;i++) cout<<elevi[i].nume<<" "<<elevi[i].prenume<<" "<<elevi[i].mediegen<<"\n"; } return 0; } ^ /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function \`_start': (.text+0x18): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Clasa face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.