#2937
Gigel este la ora de informatică, iar profesorul i-a dat o sarcină: să sorteze numele celor n colegi ai săi după o regulă specială. Fiecărui nume i se asociază un număr care iniţial este 0 și crește cu 1 pentru fiecare pereche de vocale consecutive și scade cu 1 pentru fiecare pereche de consoane consecutive Dacă perechea este formată dintr-o vocală și o consoană, numărul nu se modifică.
Dându-se cele n nume ale colegilor, să se sorteze crescător după numerele asociate. La numere egale, se vor sorta alfabetic.
| Problema | ora | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.85 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64586036 | Utilizator | |
| Fișier | ora.cpp | Dimensiune | 1.14 KB |
| Data încărcării | 16 Mai 2026, 16:50 | Scor/rezultat | Eroare de compilare |
ora.cpp: In lambda function: ora.cpp:19:66: error: use of ‘auto’ in lambda parameter declaration only available with ‘-std=c++14’ or ‘-std=gnu++14’ 19 | auto calc_rec=[isVoc](const std::string&s,const size_t&i,auto&calc_ref){ | ^~~~ ora.cpp: In lambda function: ora.cpp:23:33: error: expression cannot be used as a function 23 | return calc+calc_ref(s,i+1,calc_ref); | ~~~~~~~~^~~~~~~~~~~~~~~~ ora.cpp: In lambda function: ora.cpp:25:24: error: no match for call to ‘(main()::<lambda(const std::string&)>::<lambda(const std::string&, const size_t&, int&)>) (const std::string&, int, main()::<lambda(const std::string&)>::<lambda(const std::string&, const size_t&, int&)>&)’ 25 | return calc_rec(s,1,calc_rec); | ~~~~~~~~^~~~~~~~~~~~~~ ora.cpp:19:23: note: candidate: ‘main()::<lambda(const std::string&)>::<lambda(const std::string&, const size_t&, int&)>’ 19 | auto calc_rec=[isVoc](const std::string&s,const size_t&i,auto&calc_ref){ | ^ ora.cpp:19:23: note: no known conversion for argument 3 from ‘main()::<lambda(const std::string&)>::<lambda(const std::string&, const size_t&, int&)>’ to ‘int&’ ora.cpp: In function ‘int main()’: ora.cpp:31:23: error: no matching function for call to ‘std::vector<std::pair<int, std::__cxx11::basic_string<char> > >::push_back(<brace-enclosed initializer list>)’ 31 | elev.push_back({calc(s),s}); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ In file included from /usr/include/c++/13/vector:66, from ora.cpp:3: /usr/include/c++/13/bits/stl_vector.h:1281:7: note: candidate: ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::pair<int, std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<int, std::__cxx11::basic_string<char> > >; value_type = std::pair<int, std::__cxx11::basic_string<char> >]’ 1281 | push_back(const value_type& __x) | ^~~~~~~~~ /usr/include/c++/13/bits/stl_vector.h:1281:35: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const std::vector<std::pair<int, std::__cxx11::basic_string<char> > >::value_type&’ {aka ‘const std::pair<int, std::__cxx11::basic_string<char> >&’} 1281 | push_back(const value_type& __x) | ~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/stl_vector.h:1298:7: note: candidate: ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = std::pair<int, std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<int, std::__cxx11::basic_string<char> > >; value_type = std::pair<int, std::__cxx11::basic_string<char> >]’ 1298 | push_back(value_type&& __x) | ^~~~~~~~~ /usr/include/c++/13/bits/stl_vector.h:1298:30: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::vector<std::pair<int, std::__cxx11::basic_string<char> > >::value_type&&’ {aka ‘std::pair<int, std::__cxx11::basic_string<char> >&&’} 1298 | push_back(value_type&& __x) | ~~~~~~~~~~~~~^~~ ora.cpp:11:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 11 | freopen("/dev/null","w",stderr); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ora.cpp:13:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 13 | scanf("%d",&n); | ~~~~~^~~~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ora 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ă.