#875
Să se scrie un program care gestionează o stivă de numere întregi. Inițial stiva este vidă. Programul va citi de la tastatură o listă de operații, care pot fi:
push X – adaugă valoarea întreagă X pe stivă;pop – elimină elementul din vârful stivei;top – afișează elementul din vârful stivei.Programul va realiza asupra stivei operațiile citite, în ordine. Afișările se fac pe ecran, câte o valoare pe linie.
| Problema | Stiva | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64802060 | Utilizator | |
| Fișier | stiva.cpp | Dimensiune | 694 B |
| Data încărcării | 02 Iunie 2026, 11:58 | Scor/rezultat | Eroare de compilare |
stiva.cpp: In function ‘void top()’: stiva.cpp:13:15: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 13 | return v[k]; | ~~~^ stiva.cpp: In function ‘int main()’: stiva.cpp:35:25: error: no match for ‘operator<<’ (operand types are ‘std::ostream’ {aka ‘std::basic_ostream<char>’} and ‘void’) 35 | cout<<top()<<endl; | ~~~~^~~~~~~ | | | | | void | std::ostream {aka std::basic_ostream<char>} In file included from /usr/include/c++/13/iostream:41, from stiva.cpp:1: /usr/include/c++/13/ostream:110:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ostream_type& (*)(__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 110 | operator<<(__ostream_type& (*__pf)(__ostream_type&)) | ^~~~~~~~ /usr/include/c++/13/ostream:110:36: note: no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)’ {aka ‘std::basic_ostream<char>& (*)(std::basic_ostream<char>&)’} 110 | operator<<(__ostream_type& (*__pf)(__ostream_type&)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/ostream:119:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>; __ios_type = std::basic_ios<char>]’ 119 | operator<<(__ios_type& (*__pf)(__ios_type&)) | ^~~~~~~~ /usr/include/c++/13/ostream:119:32: note: no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)’ {aka ‘std::basic_ios<char>& (*)(std::basic_ios<char>&)’} 119 | operator<<(__ios_type& (*__pf)(__ios_type&)) | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /usr/include/c++/13/ostream:129:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 129 | operator<<(ios_base& (*__pf) (ios_base&)) | ^~~~~~~~ /usr/include/c++/13/ostream:129:30: note: no known conversion for argument 1 from ‘void’ to ‘std::ios_base& (*)(std::ios_base&)’ 129 | operator<<(ios_base& (*__pf) (ios_base&)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ /usr/include/c++/13/ostream:168:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 168 | operator<<(long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:168:23: note: no known conversion for argument 1 from ‘void’ to ‘long int’ 168 | operator<<(long __n) | ~~~~~^~~ /usr/include/c++/13/ostream:172:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 172 | operator<<(unsigned long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:172:32: note: no known conversion for argument 1 from ‘void’ to ‘long unsigned int’ 172 | operator<<(unsigned long __n) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:176:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 176 | operator<<(bool __n) | ^~~~~~~~ /usr/include/c++/13/ostream:176:23: note: no known conversion for argument 1 from ‘void’ to ‘bool’ 176 | operator<<(bool __n) | ~~~~~^~~ In file included from /usr/include/c++/13/ostream:880: /usr/include/c++/13/bits/ostream.tcc:96:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’ 96 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:97:22: note: no known conversion for argument 1 from ‘void’ to ‘short int’ 97 | operator<<(short __n) | ~~~~~~^~~ /usr/include/c++/13/ostream:183:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 183 | operator<<(unsigned short __n) | ^~~~~~~~ /usr/include/c++/13/ostream:183:33: note: no known conversion for argument 1 from ‘void’ to ‘short unsigned int’ 183 | operator<<(unsigned short __n) | ~~~~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/ostream.tcc:110:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’ 110 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:111:20: note: no known conversion for argument 1 from ‘void’ to ‘int’ 111 | operator<<(int __n) | ~~~~^~~ /usr/include/c++/13/ostream:194:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 194 | operator<<(unsigned int __n) | ^~~~~~~~ /usr/include/c++/13/ostream:194:31: note: no known conversion for argument 1 from ‘void’ to ‘unsigned int’ 194 | operator<<(unsigned int __n) | ~~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:203:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 203 | operator<<(long long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:203:28: note: no known conversion for argument 1 from ‘void’ to ‘long long int’ 203 | operator<<(long long __n) | ~~~~~~~~~~^~~ /usr/include/c++/13/ostream:207:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 207 | operator<<(unsigned long long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:207:37: note: no known conversion for argument 1 from ‘void’ to ‘long long unsigned int’ 207 | operator<<(unsigned long long __n) | ~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:222:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 222 | operator<<(double __f) | ^~~~~~~~ /usr/include/c++/13/ostream:222:25: note: no known conversion for argument 1 from ‘void’ to ‘double’ 222 | operator<<(double __f) | ~~~~~~~^~~ /usr/include/c++/13/ostream:226:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 226 | operator<<(float __f) | ^~~~~~~~ /usr/include/c++/13/ostream:226:24: note: no known conversion for argument 1 from ‘void’ to ‘float’ 226 | operator<<(float __f) | ~~~~~~^~~ /usr/include/c++/13/ostream:234:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 234 | operator<<(long double __f) | ^~~~~~~~ /usr/include/c++/13/ostream:234:30: note: no known conversion for argument 1 from ‘void’ to ‘long double’ 234 | operator<<(long double __f) | ~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:292:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 292 | operator<<(const void* __p) | ^~~~~~~~ /usr/include/c++/13/ostream:292:30: note: no known conversion for argument 1 from ‘void’ to ‘const void*’ 292 | operator<<(const void* __p) | ~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/ostream.tcc:124:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; __streambuf_type = std::basic_streambuf<char>]’ 124 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:125:34: note: no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__streambuf_type*’ {aka ‘std::basic_streambuf<char>*’} 125 | operator<<(__streambuf_type* __sbin) | ~~~~~~~~~~~~~~~~~~^~~~~~ In file included 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, from /usr/include/c++/13/ostream:40: /usr/include/c++/13/bits/basic_string.h:4032:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 4032 | operator<<(basic_ostream<_CharT, _Traits>& __os, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:4032:5: note: template argument deduction/substitution failed: stiva.cpp:35:31: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘void’ 35 | cout<<top()<<endl; | ^ In file included from /usr/include/c++/13/bits/ios_base.h:46: /usr/include/c++/13/system_error:339:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const error_code&)’ 339 | operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) | ^~~~~~~~ /usr/include/c++/13/system_error:339:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘const std::error_code&’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:554:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, _CharT)’ 554 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) | ^~~~~~~~ /usr/include/c++/13/ostream:554:5: note: template argument deduction/substitution failed: stiva.cpp:35:31: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘void’) 35 | cout<<top()<<endl; | ^ /usr/include/c++/13/ostream:564:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, char)’ 564 | operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:564:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘char’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:570:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char)’ 570 | operator<<(basic_ostream<char, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:570:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘char’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:581:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, signed char)’ 581 | operator<<(basic_ostream<char, _Traits>& __out, signed char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:581:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘signed char’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:586:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, unsigned char)’ 586 | operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:586:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘unsigned char’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:645:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const _CharT*)’ 645 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:645:5: note: template argument deduction/substitution failed: stiva.cpp:35:31: note: mismatched types ‘const _CharT*’ and ‘void’ 35 | cout<<top()<<endl; | ^ /usr/include/c++/13/bits/ostream.tcc:307:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const char*)’ 307 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:307:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘const char*’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:662:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)’ 662 | operator<<(basic_ostream<char, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:662:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘const char*’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:675:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)’ 675 | operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:675:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘const signed char*’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:680:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)’ 680 | operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:680:5: note: template argument deduction/substitution failed: stiva.cpp:35:30: note: cannot convert ‘top()’ (type ‘void’) to type ‘const unsigned char*’ 35 | cout<<top()<<endl; | ~~~^~ /usr/include/c++/13/ostream:801:5: note: candidate: ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)’ 801 | operator<<(_Ostream&& __os, const _Tp& __x) | ^~~~~~~~ /usr/include/c++/13/ostream:801:5: note: template argument deduction/substitution failed: /usr/include/c++/13/ostream: In substitution of ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = void]’: stiva.cpp:35:31: required from here /usr/include/c++/13/ostream:801:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’ stiva.cpp:20:13: warning: unused variable ‘i’ [-Wunused-variable] 20 | int n,x,i; | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Stiva 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ă.