#2736
Se citește numărul n și apoi n articole cu structura prenume nume salariu vârstă funcție număr_de_telefon email. Fiecare articol este plasat pe câte o linie, câmpurile sale fiind separate prin câte un spațiu. Câmpurile salariu și vârstă conțin numere naturale, celelalte conțin șiruri de caractere.
Se citește apoi un număr natural p cuprins între 1 și 7 și un caracter c care poate fi + sau -.
Se cere ordonarea celor n articole în funcție de p și c, astfel:
p=1, ordonarea se face după prenume; dacă p=2, ordonarea se face după nume; dacă p=3, ordonarea se face după salariu; dacă p=4, ordonarea se face după vârstă; dacă p=5, ordonarea se face după funcție; dacă p=6, ordonarea se face după număr_de_telefon; dacă p=7, ordonarea se face după email;c are valoarea +, ordonarea va fi crescătoare, iar dacă c are valoarea -, ordonarea va fi descrescătoare;| Problema | Baza De Date | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.01 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64609285 | Utilizator | |
| Fișier | baza_de_date.cpp | Dimensiune | 1.05 KB |
| Data încărcării | 18 Mai 2026, 14:26 | Scor/rezultat | Eroare de compilare |
baza_de_date.cpp:5:15: error: expected nested-name-specifier before ‘long’ 5 | using long long varsta,salariu; | ^~~~ baza_de_date.cpp: In function ‘int main()’: baza_de_date.cpp:15:52: error: ‘struct Persoana’ has no member named ‘salariu’ 15 | cin>>v[i].prenume>>v[i].nume>>v[i].salariu>>v[i].varsta; | ^~~~~~~ baza_de_date.cpp:15:66: error: ‘struct Persoana’ has no member named ‘varsta’ 15 | cin>>v[i].prenume>>v[i].nume>>v[i].salariu>>v[i].varsta; | ^~~~~~ baza_de_date.cpp:23:56: warning: comparison between two arrays [-Warray-compare] 23 | if(v[i].prenume>v[j].prenume) swap(v[i],v[j]); | ~~~~~~~~~~~~^~~~~~~~~~~~~ baza_de_date.cpp:23:56: note: use unary ‘+’ which decays operands to pointers or ‘&(v[i].Persoana::prenume)[0] > &(v[j].Persoana::prenume)[0]’ to compare the addresses baza_de_date.cpp:32:53: warning: comparison between two arrays [-Warray-compare] 32 | if(v[i].nume>v[j].nume) swap(v[i],v[j]); | ~~~~~~~~~^~~~~~~~~~ baza_de_date.cpp:32:53: note: use unary ‘+’ which decays operands to pointers or ‘&(v[i].Persoana::nume)[0] > &(v[j].Persoana::nume)[0]’ to compare the addresses baza_de_date.cpp:41:49: error: ‘struct Persoana’ has no member named ‘salariu’ 41 | if(v[i].salariu>v[j].salariu) swap(v[i],v[j]); | ^~~~~~~ baza_de_date.cpp:41:62: error: ‘struct Persoana’ has no member named ‘salariu’ 41 | if(v[i].salariu>v[j].salariu) swap(v[i],v[j]); | ^~~~~~~ baza_de_date.cpp:50:49: error: ‘struct Persoana’ has no member named ‘varsta’ 50 | if(v[i].varsta>v[j].varsta) swap(v[i],v[j]); | ^~~~~~ baza_de_date.cpp:50:61: error: ‘struct Persoana’ has no member named ‘varsta’ 50 | if(v[i].varsta>v[j].varsta) swap(v[i],v[j]); | ^~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Baza De Date 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ă.