#4353
Se dă un vector x cu n elemente numere naturale, ordonate crescător, și un vector y cu m elemente, de asemenea numere naturale. Determinați câte dintre elementele pare ale vectorului y apar în prima jumătate a vectorului x și câte dintre elementele impare ale vectorului y apar în cea de-a doua jumătate a vectorului x. Vectorul x are număr par de elemente.
| Problema | CB_par_impar | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #62618332 | Utilizator | |
| Fișier | cb_par_impar.cpp | Dimensiune | 1.14 KB |
| Data încărcării | 27 Ianuarie 2026, 19:15 | Scor/rezultat | Eroare de compilare |
cb_par_impar.cpp:5:20: error: 'long long int y1 [200000]' redeclared as different kind of symbol long long y1[200000]; ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iostream:38, from cb_par_impar.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:241:1: error: previous declaration of 'double y1(double)' __MATHCALL (y1,, (_Mdouble_)); ^ cb_par_impar.cpp: In function 'int main()': cb_par_impar.cpp:24:36: warning: pointer to a function used in arithmetic [-Wpointer-arith] for (int i=0;i<m;i++) cin>>y1[i]; ^ cb_par_impar.cpp:24:36: error: cannot bind 'std::istream {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&' In file included from /usr/include/c++/4.8/iostream:40:0, from cb_par_impar.cpp:1: /usr/include/c++/4.8/istream:872:5: error: initializing argument 1 of 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = double(double)throw ()]' operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ cb_par_impar.cpp:25:16: warning: pointer to a function used in arithmetic [-Wpointer-arith] sort(y1,y1+m); ^ cb_par_impar.cpp:28:17: warning: pointer to a function used in arithmetic [-Wpointer-arith] if (y1[i]!=y1[i+1]) { ^ cb_par_impar.cpp:28:26: warning: pointer to a function used in arithmetic [-Wpointer-arith] if (y1[i]!=y1[i+1]) { ^ cb_par_impar.cpp:28:26: warning: pointer to a function used in arithmetic [-Wpointer-arith] cb_par_impar.cpp:29:24: warning: pointer to a function used in arithmetic [-Wpointer-arith] y[pas]=y1[i]; ^ cb_par_impar.cpp:29:24: error: invalid conversion from 'double (*)(double)throw ()' to 'long long int' [-fpermissive] In file included from /usr/include/c++/4.8/algorithm:62:0, from cb_par_impar.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::sort(_RAIter, _RAIter) [with _RAIter = double (*)(double)throw ()]': cb_par_impar.cpp:25:17: required from here /usr/include/c++/4.8/bits/stl_algo.h:5461:22: error: ISO C++ forbids using pointer to a function in subtraction [-fpermissive] std::__lg(__last - __first) * 2); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CB_par_impar 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ă.