#4173
Să se scrie o funcție C++ care va returna informația reținută în al k-lea nod, parcurgând lista de la stânga la dreapta dacă k > 0 sau al -k-lea nod, parcurgând lista de la dreapta la stânga dacă k < 0.
| Problema | FLdiCauta | Operații I/O |
fldicauta.in/fldicauta.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64745613 | Utilizator | |
| Fișier | fldicauta.cpp | Dimensiune | 481 B |
| Data încărcării | 27 Mai 2026, 13:06 | Scor/rezultat | Eroare de compilare |
fldicauta.cpp: In function ‘int FLdiCauta(nod*, nod*, int)’: fldicauta.cpp:21:11: error: no match for ‘operator=’ (operand types are ‘nod’ and ‘nod*’) 21 | p=prim; | ^~~~ fldicauta.cpp:4:8: note: candidate: ‘nod& nod::operator=(const nod&)’ 4 | struct nod | ^~~ fldicauta.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘const nod&’ fldicauta.cpp:4:8: note: candidate: ‘nod& nod::operator=(nod&&)’ fldicauta.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘nod&&’ fldicauta.cpp:22:17: error: no match for ‘operator!=’ (operand types are ‘nod’ and ‘long int’) 22 | while (p!=NULL) | ^ In file included from /usr/include/c++/13/iosfwd:42, from /usr/include/c++/13/ios:40, from /usr/include/c++/13/istream:40, from /usr/include/c++/13/fstream:40, from fldicauta.cpp:1: /usr/include/c++/13/bits/postypes.h:197:5: note: candidate: ‘template<class _StateT> bool std::operator!=(const fpos<_StateT>&, const fpos<_StateT>&)’ 197 | operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | ^~~~~~~~ /usr/include/c++/13/bits/postypes.h:197:5: note: template argument deduction/substitution failed: In file included from /usr/include/stdio.h:34, from /usr/include/c++/13/cstdio:42, from /usr/include/c++/13/ext/string_conversions.h:45, from /usr/include/c++/13/bits/basic_string.h:4109, from /usr/include/c++/13/string:54, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/ios:44: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::fpos<_StateT>’ 22 | while (p!=NULL) | ^~~~ In file included from /usr/include/c++/13/string:43: /usr/include/c++/13/bits/allocator.h:245:5: note: candidate: ‘template<class _T1, class _T2> bool std::operator!=(const allocator<_CharT>&, const allocator<_T2>&)’ 245 | operator!=(const allocator<_T1>&, const allocator<_T2>&) | ^~~~~~~~ /usr/include/c++/13/bits/allocator.h:245:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::allocator<_CharT>’ 22 | while (p!=NULL) | ^~~~ In file included from /usr/include/c++/13/string:48: /usr/include/c++/13/bits/stl_iterator.h:462:5: note: candidate: ‘template<class _Iterator> bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)’ 462 | operator!=(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:462:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 22 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:507:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)’ 507 | operator!=(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:507:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 22 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:1697:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)’ 1697 | operator!=(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1697:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::move_iterator<_IteratorL>’ 22 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:1763:5: note: candidate: ‘template<class _Iterator> bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)’ 1763 | operator!=(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1763:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::move_iterator<_IteratorL>’ 22 | while (p!=NULL) | ^~~~ In file included from /usr/include/c++/13/bits/stl_algobase.h:64, from /usr/include/c++/13/string:51: /usr/include/c++/13/bits/stl_pair.h:842:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator!=(const pair<_T1, _T2>&, const pair<_T1, _T2>&)’ 842 | operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/13/bits/stl_pair.h:842:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::pair<_T1, _T2>’ 22 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/basic_string.h:3788:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3788 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3788:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 22 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/basic_string.h:3802:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3802 | operator!=(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3802:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: mismatched types ‘const _CharT*’ and ‘nod’ 22 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/basic_string.h:3815:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’ 3815 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3815:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 22 | while (p!=NULL) | ^~~~ In file included from /usr/include/c++/13/bits/locale_facets.h:48, from /usr/include/c++/13/bits/basic_ios.h:37, from /usr/include/c++/13/ios:46: /usr/include/c++/13/bits/streambuf_iterator.h:242:5: note: candidate: ‘template<class _CharT, class _Traits> bool std::operator!=(const istreambuf_iterator<_CharT, _Traits>&, const istreambuf_iterator<_CharT, _Traits>&)’ 242 | operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, | ^~~~~~~~ /usr/include/c++/13/bits/streambuf_iterator.h:242:5: note: template argument deduction/substitution failed: fldicauta.cpp:22:19: note: ‘nod’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’ 22 | while (p!=NULL) | ^~~~ In file included from /usr/include/c++/13/bits/ios_base.h:46: /usr/include/c++/13/system_error:525:3: note: candidate: ‘bool std::operator!=(const error_code&, const error_code&)’ 525 | operator!=(const error_code& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:525:32: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_code&’ 525 | operator!=(const error_code& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:530:3: note: candidate: ‘bool std::operator!=(const error_code&, const error_condition&)’ 530 | operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:530:32: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_code&’ 530 | operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:535:3: note: candidate: ‘bool std::operator!=(const error_condition&, const error_code&)’ 535 | operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:535:37: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_condition&’ 535 | operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:540:3: note: candidate: ‘bool std::operator!=(const error_condition&, const error_condition&)’ 540 | operator!=(const error_condition& __lhs, | ^~~~~~~~ /usr/include/c++/13/system_error:540:37: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_condition&’ 540 | operator!=(const error_condition& __lhs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ fldicauta.cpp:26:25: error: base operand of ‘->’ has non-pointer type ‘nod’ 26 | return p->info; | ^~ fldicauta.cpp:27:16: error: base operand of ‘->’ has non-pointer type ‘nod’ 27 | p=p->urm; | ^~ fldicauta.cpp:32:11: error: no match for ‘operator=’ (operand types are ‘nod’ and ‘nod*’) 32 | p=ultim; | ^~~~~ fldicauta.cpp:4:8: note: candidate: ‘nod& nod::operator=(const nod&)’ 4 | struct nod | ^~~ fldicauta.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘const nod&’ fldicauta.cpp:4:8: note: candidate: ‘nod& nod::operator=(nod&&)’ fldicauta.cpp:4:8: note: no known conversion for argument 1 from ‘nod*’ to ‘nod&&’ fldicauta.cpp:33:17: error: no match for ‘operator!=’ (operand types are ‘nod’ and ‘long int’) 33 | while (p!=NULL) | ^ /usr/include/c++/13/bits/postypes.h:197:5: note: candidate: ‘template<class _StateT> bool std::operator!=(const fpos<_StateT>&, const fpos<_StateT>&)’ 197 | operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | ^~~~~~~~ /usr/include/c++/13/bits/postypes.h:197:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::fpos<_StateT>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/allocator.h:245:5: note: candidate: ‘template<class _T1, class _T2> bool std::operator!=(const allocator<_CharT>&, const allocator<_T2>&)’ 245 | operator!=(const allocator<_T1>&, const allocator<_T2>&) | ^~~~~~~~ /usr/include/c++/13/bits/allocator.h:245:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::allocator<_CharT>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:462:5: note: candidate: ‘template<class _Iterator> bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)’ 462 | operator!=(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:462:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:507:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)’ 507 | operator!=(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:507:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:1697:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)’ 1697 | operator!=(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1697:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::move_iterator<_IteratorL>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_iterator.h:1763:5: note: candidate: ‘template<class _Iterator> bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)’ 1763 | operator!=(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1763:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::move_iterator<_IteratorL>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/stl_pair.h:842:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator!=(const pair<_T1, _T2>&, const pair<_T1, _T2>&)’ 842 | operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/13/bits/stl_pair.h:842:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::pair<_T1, _T2>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/basic_string.h:3788:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3788 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3788:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/basic_string.h:3802:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3802 | operator!=(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3802:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: mismatched types ‘const _CharT*’ and ‘nod’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/basic_string.h:3815:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’ 3815 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3815:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/bits/streambuf_iterator.h:242:5: note: candidate: ‘template<class _CharT, class _Traits> bool std::operator!=(const istreambuf_iterator<_CharT, _Traits>&, const istreambuf_iterator<_CharT, _Traits>&)’ 242 | operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, | ^~~~~~~~ /usr/include/c++/13/bits/streambuf_iterator.h:242:5: note: template argument deduction/substitution failed: fldicauta.cpp:33:19: note: ‘nod’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’ 33 | while (p!=NULL) | ^~~~ /usr/include/c++/13/system_error:525:3: note: candidate: ‘bool std::operator!=(const error_code&, const error_code&)’ 525 | operator!=(const error_code& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:525:32: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_code&’ 525 | operator!=(const error_code& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:530:3: note: candidate: ‘bool std::operator!=(const error_code&, const error_condition&)’ 530 | operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:530:32: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_code&’ 530 | operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:535:3: note: candidate: ‘bool std::operator!=(const error_condition&, const error_code&)’ 535 | operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:535:37: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_condition&’ 535 | operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:540:3: note: candidate: ‘bool std::operator!=(const error_condition&, const error_condition&)’ 540 | operator!=(const error_condition& __lhs, | ^~~~~~~~ /usr/include/c++/13/system_error:540:37: note: no known conversion for argument 1 from ‘nod’ to ‘const std::error_condition&’ 540 | operator!=(const error_condition& __lhs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ fldicauta.cpp:37:25: error: base operand of ‘->’ has non-pointer type ‘nod’ 37 | return p->info; | ^~ fldicauta.cpp:38:16: error: base operand of ‘->’ has non-pointer type ‘nod’ 38 | p=p->ant; | ^~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema FLdiCauta 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ă.