#1180
Să se scrie o funcție C++ care inserează o anumită valoare înaintea unui element dat dintr-o lista simplu înlănțuită.
| Problema | FListaInserare1 | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64368127 | Utilizator | |
| Fișier | flistainserare1.cpp | Dimensiune | 305 B |
| Data încărcării | 03 Mai 2026, 22:35 | Scor/rezultat | Eroare de compilare |
flistainserare1.cpp: In function ‘void inserare(nod*&, nod*, int)’: flistainserare1.cpp:42:14: error: no match for ‘operator=’ (operand types are ‘nod’ and ‘nod*’) 42 | r=new nod; | ^~~ flistainserare1.cpp:4:8: note: candidate: ‘nod& nod::operator=(const nod&)’ 4 | struct nod{ | ^~~ flistainserare1.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘const nod&’ flistainserare1.cpp:4:8: note: candidate: ‘nod& nod::operator=(nod&&)’ flistainserare1.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘nod&&’ flistainserare1.cpp:43:9: error: base operand of ‘->’ has non-pointer type ‘nod’ 43 | r->info=x; | ^~ flistainserare1.cpp:44:9: error: base operand of ‘->’ has non-pointer type ‘nod’ 44 | r->urm=p; | ^~ flistainserare1.cpp:45:10: error: cannot convert ‘nod’ to ‘nod*’ in assignment 45 | p=r; | ^ | | | nod flistainserare1.cpp:49:8: error: no match for ‘operator=’ (operand types are ‘nod’ and ‘nod*’) 49 | r=p; | ^ flistainserare1.cpp:4:8: note: candidate: ‘nod& nod::operator=(const nod&)’ 4 | struct nod{ | ^~~ flistainserare1.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘const nod&’ flistainserare1.cpp:4:8: note: candidate: ‘nod& nod::operator=(nod&&)’ flistainserare1.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘nod&&’ flistainserare1.cpp:50:12: error: base operand of ‘->’ has non-pointer type ‘nod’ 50 | while(r->urm!=q) | ^~ flistainserare1.cpp:51:9: error: base operand of ‘->’ has non-pointer type ‘nod’ 51 | r=r->urm; | ^~ flistainserare1.cpp:50:5: warning: this ‘while’ clause does not guard... [-Wmisleading-indentation] 50 | while(r->urm!=q) | ^~~~~ flistainserare1.cpp:53:6: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘while’ 53 | k=new nod; | ^ flistainserare1.cpp:53:12: error: no match for ‘operator=’ (operand types are ‘nod’ and ‘nod*’) 53 | k=new nod; | ^~~ flistainserare1.cpp:4:8: note: candidate: ‘nod& nod::operator=(const nod&)’ 4 | struct nod{ | ^~~ flistainserare1.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘const nod&’ flistainserare1.cpp:4:8: note: candidate: ‘nod& nod::operator=(nod&&)’ flistainserare1.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘nod&&’ flistainserare1.cpp:54:7: error: base operand of ‘->’ has non-pointer type ‘nod’ 54 | k->info=x; | ^~ flistainserare1.cpp:55:7: error: base operand of ‘->’ has non-pointer type ‘nod’ 55 | k->urm=r->urm; | ^~ flistainserare1.cpp:55:14: error: base operand of ‘->’ has non-pointer type ‘nod’ 55 | k->urm=r->urm; | ^~ flistainserare1.cpp:56:7: error: base operand of ‘->’ has non-pointer type ‘nod’ 56 | r->urm=k; | ^~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema FListaInserare1 face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. 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ă.