#38
Shift
C++
Scrieţi definiția completă a subprogramului shift
care primește prin intermediul parametrului n
o valoare naturală nenulă (n≤100
), iar prin intermediul parametrului x
, un tablou unidimensional cu n
componente. Fiecare componentă a acestui tablou este un număr întreg care are cel mult 8
cifre.
Subprogramul permută circular cu o poziţie spre stânga primele n
elemente ale tabloului x
și furnizează tabloul modificat tot prin parametrul x
.
Variante Bacalaureat 2009
Problema | Shift | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #54347505 | Utilizator | |
Fișier | shift.cpp | Dimensiune | 369 B |
Data încărcării | 26 Noiembrie 2024, 11:43 | Scor / rezultat | Eroare de compilare |
shift.cpp: In function 'int shift(int, int*)': shift.cpp:13:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ shift.cpp: In function 'int main()': shift.cpp:19:8: error: no match for 'operator>>' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'int*') cin>>v-1; ^ shift.cpp:19:8: note: candidates are: In file included from /usr/include/c++/4.8/iostream:40:0, from shift.cpp:1: /usr/include/c++/4.8/istream:120:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(__istream_type& (*__pf)(__istream_type&)) ^ /usr/include/c++/4.8/istream:120:7: note: no known conversion for argument 1 from 'int*' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}' /usr/include/c++/4.8/istream:124:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] operator>>(__ios_type& (*__pf)(__ios_type&)) ^ /usr/include/c++/4.8/istream:124:7: note: no known conversion for argument 1 from 'int*' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' /usr/include/c++/4.8/istream:131:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(ios_base& (*__pf)(ios_base&)) ^ /usr/include/c++/4.8/istream:131:7: note: no known conversion for argument 1 from 'int*' to 'std::ios_base& (*)(std::ios_base&)' /usr/include/c++/4.8/istream:168:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(bool& __n) ^ /usr/include/c++/4.8/istream:168:7: note: no known conversion for argument 1 from 'int*' to 'bool&' /usr/include/c++/4.8/istream:172:7: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>] operator>>(short& __n); ^ /usr/include/c++/4.8/istream:172:7: note: no known conversion for argument 1 from 'int*' to 'short int&' /usr/include/c++/4.8/istream:175:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned short& __n) ^ /usr/include/c++/4.8/istream:175:7: note: no known conversion for argument 1 from 'int*' to 'short unsigned int&' /usr/include/c++/4.8/istream:179:7: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>] operator>>(int& __n); ^ /usr/include/c++/4.8/istream:179:7: note: no known conversion for argument 1 from 'int*' to 'int&' /usr/include/c++/4.8/istream:182:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned int& __n) ^ /usr/include/c++/4.8/istream:182:7: note: no known conversion for argument 1 from 'int*' to 'unsigned int&' /usr/include/c++/4.8/istream:186:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long& __n) ^ /usr/include/c++/4.8/istream:186:7: note: no known conversion for argument 1 from 'int*' to 'long int&' /usr/include/c++/4.8/istream:190:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned long& __n) ^ /usr/include/c++/4.8/istream:190:7: note: no known conversion for argument 1 from 'int*' to 'long unsigned int&' /usr/include/c++/4.8/istream:195:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long long& __n) ^ /usr/include/c++/4.8/istream:195:7: note: no known conversion for argument 1 from 'int*' to 'long long int&' /usr/include/c++/4.8/istream:199:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned long long& __n) ^ /usr/include/c++/4.8/istream:199:7: note: no known conversion for argument 1 from 'int*' to 'long long unsigned int&' /usr/include/c++/4.8/istream:214:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(float& __f) ^ /usr/include/c++/4.8/istream:214:7: note: no known conversion for argument 1 from 'int*' to 'float&' /usr/include/c++/4.8/istream:218:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(double& __f) ^ /usr/include/c++/4.8/istream:218:7: note: no known conversion for argument 1 from 'int*' to 'double&' /usr/include/c++/4.8/istream:222:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long double& __f) ^ /usr/include/c++/4.8/istream:222:7: note: no known conversion for argument 1 from 'int*' to 'long double&' /usr/include/c++/4.8/istream:235:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(void*& __p) ^ /usr/include/c++/4.8/istream:235:7: note: no known conversion for argument 1 from 'int*' to 'void*&' /usr/include/c++/4.8/istream:259:7: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] operator>>(__streambuf_type* __sb); ^ /usr/include/c++/4.8/istream:259:7: note: no known conversion for argument 1 from 'int*' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' In file included from /usr/include/c++/4.8/string:53:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from shift.cpp:1: /usr/include/c++/4.8/bits/basic_string.tcc:996:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::basic_string<_CharT, _Traits, _Alloc>&) operator>>(basic_istream<_CharT, _Traits>& __in, ^ /usr/include/c++/4.8/bits/basic_string.tcc:996:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'int*' cin>>v-1; ^ In file included from /usr/include/c++/4.8/istream:882:0, from /usr/include/c++/4.8/iostream:40, from shift.cpp:1: /usr/include/c++/4.8/bits/istream.tcc:955:5: note: template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*) operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) ^ /usr/include/c++/4.8/bits/istream.tcc:955:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: deduced conflicting types for parameter '_CharT2' ('char' and 'int') cin>>v-1; ^ In file included from /usr/include/c++/4.8/istream:882:0, from /usr/include/c++/4.8/iostream:40, from shift.cpp:1: /usr/include/c++/4.8/bits/istream.tcc:923:5: note: template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&) operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) ^ /usr/include/c++/4.8/bits/istream.tcc:923:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: deduced conflicting types for parameter '_CharT' ('char' and 'int*') cin>>v-1; ^ In file included from /usr/include/c++/4.8/iostream:40:0, from shift.cpp:1: /usr/include/c++/4.8/istream:727:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&) operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) ^ /usr/include/c++/4.8/istream:727:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: cannot convert '(((int*)(& v)) + 4294967292u)' (type 'int*') to type 'unsigned char&' cin>>v-1; ^ In file included from /usr/include/c++/4.8/iostream:40:0, from shift.cpp:1: /usr/include/c++/4.8/istream:732:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&) operator>>(basic_istream<char, _Traits>& __in, signed char& __c) ^ /usr/include/c++/4.8/istream:732:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: cannot convert '(((int*)(& v)) + 4294967292u)' (type 'int*') to type 'signed char&' cin>>v-1; ^ In file included from /usr/include/c++/4.8/iostream:40:0, from shift.cpp:1: /usr/include/c++/4.8/istream:774:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*) operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) ^ /usr/include/c++/4.8/istream:774:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: cannot convert '(((int*)(& v)) + 4294967292u)' (type 'int*') to type 'unsigned char*' cin>>v-1; ^ In file included from /usr/include/c++/4.8/iostream:40:0, from shift.cpp:1: /usr/include/c++/4.8/istream:779:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*) operator>>(basic_istream<char, _Traits>& __in, signed char* __s) ^ /usr/include/c++/4.8/istream:779:5: note: template argument deduction/substitution failed: shift.cpp:19:12: note: cannot convert '(((int*)(& v)) + 4294967292u)' (type 'int*') to type 'signed char*' cin>>v-1; ^ In file included from /usr/include/c++/4.8/iostream:40:0, from shift.cpp:1: /usr/include/c++/4.8/istream:872:5: note: std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = int*] operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ /usr/include/c++/4.8/istream:872:5: note: no known conversion for argument 2 from 'int*' to 'int*&' shift.cpp:19:11: warning: suggest parentheses around '-' inside '>>' [-Wparentheses] cin>>v-1; ^ shift.cpp: At global scope: shift.cpp:29:5: error: expected unqualified-id before 'return' return 0; ^ shift.cpp:30:1: error: expected declaration before '}' token } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Shift 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ă.