#3187
Se dau două numere n p și o listă de n elemente cu urcările în autobuz a mai multor persoane a căror structura este prenume nume bilet_platit, fiecare intrare fiind plasată pe câte o linie. Câmpurile prenume și nume sunt șiruri de caractere, iar bilet_platit este un număr care poate fi 0 sau 1; 0 dacă persoana respectivă nu a plătit biletul sau 1 dacă a plătit biletul. Pentru fiecare bilet neplătit se va contoriza o penalizare persoanei.
Se cere :
a) Prenumele, numele și numărul de penalizări al persoanei care are număr maxim de penalizări. Dacă există mai multe persoane cu număr maxim de penalizări se cere afișarea persoanei care apare prima în ordine alfabetică.
b) Ordonarea listei de persoane descrescător după numărul de penalizări, la număr de penalizări egale, crescător după prenume, la prenume identice, crescător după nume.
| Problema | RATC2 | Operații I/O |
ratc2.in/ratc2.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64460148 | Utilizator | |
| Fișier | ratc2.cpp | Dimensiune | 1.40 KB |
| Data încărcării | 08 Mai 2026, 08:48 | Scor/rezultat | Eroare de compilare |
ratc2.cpp: In function ‘int main()’: ratc2.cpp:18:22: error: invalid conversion from ‘char*’ to ‘std::basic_istream<char>::char_type’ {aka ‘char’} [-fpermissive] 18 | cin.get(v[i].nume); | ~~~~~^~~~ | | | char* In file included from /usr/include/c++/13/iostream:42, from ratc2.cpp:1: /usr/include/c++/13/istream:406:22: note: initializing argument 1 of ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(char_type&) [with _CharT = char; _Traits = std::char_traits<char>; char_type = char]’ 406 | get(char_type& __c); | ~~~~~~~~~~~^~~ ratc2.cpp:18:22: error: cannot bind rvalue ‘(std::basic_istream<char>::char_type)((char*)(& v[i].date::nume))’ to ‘std::basic_istream<char>::char_type&’ {aka ‘char&’} 18 | cin.get(v[i].nume); | ~~~~~^~~~ ratc2.cpp:19:22: error: invalid conversion from ‘char*’ to ‘std::basic_istream<char>::char_type’ {aka ‘char’} [-fpermissive] 19 | cin.get(v[i].prenume); | ~~~~~^~~~~~~ | | | char* /usr/include/c++/13/istream:406:22: note: initializing argument 1 of ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(char_type&) [with _CharT = char; _Traits = std::char_traits<char>; char_type = char]’ 406 | get(char_type& __c); | ~~~~~~~~~~~^~~ ratc2.cpp:19:22: error: cannot bind rvalue ‘(std::basic_istream<char>::char_type)((char*)(& v[i].date::prenume))’ to ‘std::basic_istream<char>::char_type&’ {aka ‘char&’} 19 | cin.get(v[i].prenume); | ~~~~~^~~~~~~ ratc2.cpp:29:12: error: ‘strcmp’ was not declared in this scope 29 | if(strcmp(v[i].nume,x[a].nume)==0 && strcmp(v[i].prenume, x[a].prenume)==0) | ^~~~~~ ratc2.cpp:2:1: note: ‘strcmp’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’? 1 | #include <iostream> +++ |+#include <cstring> 2 | ratc2.cpp:34:12: error: ‘strcpy’ was not declared in this scope 34 | strcpy(x[j].nume, v[i].nume); | ^~~~~~ ratc2.cpp:34:12: note: ‘strcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’? ratc2.cpp:38:16: error: ‘strcmp’ was not declared in this scope 38 | if(strcmp(v[a].nume,x[j].nume)==0 && strcmp(v[a].prenume,x[j].nume)==0 && v[a].bilet == 0) | ^~~~~~ ratc2.cpp:38:16: note: ‘strcmp’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’? ratc2.cpp:52:28: error: invalid types ‘int[int]’ for array subscript 52 | if(strcmp(maxim[i].nume, maxim[b].nume) > 0) | ^ ratc2.cpp:52:43: error: invalid types ‘int[int]’ for array subscript 52 | if(strcmp(maxim[i].nume, maxim[b].nume) > 0) | ^ ratc2.cpp:52:16: error: ‘strcmp’ was not declared in this scope 52 | if(strcmp(maxim[i].nume, maxim[b].nume) > 0) | ^~~~~~ ratc2.cpp:52:16: note: ‘strcmp’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’? ratc2.cpp:53:27: error: invalid types ‘int[int]’ for array subscript 53 | swap(maxim[i], maxim[b]); | ^ ratc2.cpp:53:37: error: invalid types ‘int[int]’ for array subscript 53 | swap(maxim[i], maxim[b]); | ^ ratc2.cpp:54:33: error: invalid types ‘int[int]’ for array subscript 54 | else if(strcmp(maxim[i].nume, maxim[b].nume) == 0) | ^ ratc2.cpp:54:48: error: invalid types ‘int[int]’ for array subscript 54 | else if(strcmp(maxim[i].nume, maxim[b].nume) == 0) | ^ ratc2.cpp:55:31: error: invalid types ‘int[int]’ for array subscript 55 | if(strcmp(maxim[i].nume, maxim[b].nume) > 0) | ^ ratc2.cpp:55:46: error: invalid types ‘int[int]’ for array subscript 55 | if(strcmp(maxim[i].nume, maxim[b].nume) > 0) | ^ ratc2.cpp:56:31: error: invalid types ‘int[int]’ for array subscript 56 | swap(maxim[i], maxim[b]); | ^ ratc2.cpp:56:41: error: invalid types ‘int[int]’ for array subscript 56 | swap(maxim[i], maxim[b]); | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema RATC2 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ă.