#41
CreareNumar
C++
Scrieți definiția completă a subprogramului F
, care primește prin intermediul parametrului n
un număr natural nenul (1≤n≤9
), iar prin intermediul parametrului a
, un tablou unidimensional care conţine n
valori naturale, fiecare dintre acestea reprezentând câte o cifră a unui număr. Astfel, a0
reprezintă prima cifră a numărului, a1
a doua cifră, etc.
Subprogramul furnizează prin parametrul k
o valoare naturală egală cu numărul obţinut din cifrele pare reţinute în tabloul a
sau valoarea -1
dacă în tablou nu există nicio cifră pară.
Variante Bacalaureat 2009
Problema | CreareNumar | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #4768858 | Utilizator | |
Fișier | crearenumar.cpp | Dimensiune | 109 B |
Data încărcării | 23 Martie 2017, 00:26 | Scor / rezultat | Eroare de compilare |
crearenumar.cpp: In lambda function: crearenumar.cpp:8:33: error: expected '{' before ';' token if (a[i]%2==0) nr=nr*10+[i]; ^ crearenumar.cpp: In function 'void F(int, int*, int&)': crearenumar.cpp:8:29: error: no match for 'operator+' (operand types are 'int' and 'F(int, int*, int&)::__lambda0') if (a[i]%2==0) nr=nr*10+[i]; ^ crearenumar.cpp:8:29: note: candidates are: In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from crearenumar.cpp:1: /usr/include/c++/4.8/bits/stl_iterator.h:333:5: note: template<class _Iterator> std::reverse_iterator<_Iterator> std::operator+(typename std::reverse_iterator<_Iterator>::difference_type, const std::reverse_iterator<_Iterator>&) operator+(typename reverse_iterator<_Iterator>::difference_type __n, ^ /usr/include/c++/4.8/bits/stl_iterator.h:333:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: 'F(int, int*, int&)::__lambda0' is not derived from 'const std::reverse_iterator<_Iterator>' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from crearenumar.cpp:1: /usr/include/c++/4.8/bits/stl_iterator.h:1118:5: note: template<class _Iterator> std::move_iterator<_Iterator> std::operator+(typename std::move_iterator<_Iterator>::difference_type, const std::move_iterator<_Iterator>&) operator+(typename move_iterator<_Iterator>::difference_type __n, ^ /usr/include/c++/4.8/bits/stl_iterator.h:1118:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: 'F(int, int*, int&)::__lambda0' is not derived from 'const std::move_iterator<_Iterator>' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2365:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&) operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2365:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'const std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ 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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.tcc:692:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&) operator+(const _CharT* __lhs, ^ /usr/include/c++/4.8/bits/basic_string.tcc:692:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'const _CharT*' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ 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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.tcc:708:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, const std::basic_string<_CharT, _Traits, _Alloc>&) operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) ^ /usr/include/c++/4.8/bits/basic_string.tcc:708:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: 'F(int, int*, int&)::__lambda0' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2402:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2402:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'const std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2418:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::basic_string<_CharT, _Traits, _Alloc>&, _CharT) operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) ^ /usr/include/c++/4.8/bits/basic_string.h:2418:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'const std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2430:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::basic_string<_CharT, _Traits, _Alloc>&&, const std::basic_string<_CharT, _Traits, _Alloc>&) operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2430:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2436:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::basic_string<_CharT, _Traits, _Alloc>&, std::basic_string<_CharT, _Traits, _Alloc>&&) operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2436:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'const std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2442:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::basic_string<_CharT, _Traits, _Alloc>&&, std::basic_string<_CharT, _Traits, _Alloc>&&) operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2442:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2454:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, std::basic_string<_CharT, _Traits, _Alloc>&&) operator+(const _CharT* __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2454:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'const _CharT*' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2460:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, std::basic_string<_CharT, _Traits, _Alloc>&&) operator+(_CharT __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2460:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: 'F(int, int*, int&)::__lambda0' is not derived from 'std::basic_string<_CharT, _Traits, _Alloc>' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2466:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*) operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2466:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^ In file included from /usr/include/c++/4.8/string:52: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 crearenumar.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2472:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::basic_string<_CharT, _Traits, _Alloc>&&, _CharT) operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2472:5: note: template argument deduction/substitution failed: crearenumar.cpp:8:33: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'int' if (a[i]%2==0) nr=nr*10+[i]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CreareNumar 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ă.