#4730
La o expoziție auto se află, în șir, mașini de epocă, fiecare având câte un cod, format prin alipirea, în această ordine, a două numere naturale nenule: identificatorul colecționarului care deține mașina, respectiv anul fabricației acesteia.
Scrieţi un program C/C++ care citeşte de la tastatură un număr x
(x∈[1880,1950]
), reprezentând un an calendaristic și un șir de cel mult 10
5
numere din intervalul [ 10
4
, 10
9
], reprezentând codurile mașinilor, în ordinea din șirul în care sunt expuse.
Se cere să se afișeze pe ecran identificatorii colecționarilor care dețin ultimele două mașini, din șirul celor expuse, ambele fiind fabricate în anul x
și aflate în șir pe poziții consecutive. Numerele, nu neapărat distincte, sunt afișate în ordinea în care mașinile corespunzătoare apar în șir, separate printr-un spațiu, iar dacă nu există două astfel de mașini, se afișează pe ecran mesajul nu exista.
Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate și al timpului de executare.
Bacalaureat 2025 - model
Problema | Expozitie auto | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 4 MB
/
Stivă 2 MB
|
Id soluție | #58405526 | Utilizator | |
Fișier | expozitie_auto.cpp | Dimensiune | 445 B |
Data încărcării | 02 Iunie 2025, 11:36 | Scor / rezultat | Eroare de compilare |
expozitie_auto.cpp: In function 'int main()': expozitie_auto.cpp:10:21: error: no matching function for call to 'std::basic_istream<char>::getline(std::string [100001], int)' cin.getline(s,100001); ^ expozitie_auto.cpp:10:21: note: candidates are: In file included from /usr/include/c++/4.8/sstream:38:0, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from expozitie_auto.cpp:1: /usr/include/c++/4.8/istream:618:5: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize, std::basic_istream<_CharT, _Traits>::char_type) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int] basic_istream<char>:: ^ /usr/include/c++/4.8/istream:618:5: note: candidate expects 3 arguments, 2 provided /usr/include/c++/4.8/istream:427:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int] getline(char_type* __s, streamsize __n) ^ /usr/include/c++/4.8/istream:427:7: note: no known conversion for argument 1 from 'std::string [100001] {aka std::basic_string<char> [100001]}' to 'std::basic_istream<char>::char_type* {aka char*}' expozitie_auto.cpp:11:18: error: no matching function for call to 'std::basic_stringstream<char>::basic_stringstream(std::string [100001])' stringstream ss(s); ^ expozitie_auto.cpp:11:18: note: candidates are: In file included from /usr/include/c++/4.8/complex:45:0, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from expozitie_auto.cpp:1: /usr/include/c++/4.8/sstream:553:7: note: std::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(const __string_type&, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_stringstream<_CharT, _Traits, _Alloc>::__string_type = std::basic_string<char>; std::ios_base::openmode = std::_Ios_Openmode] basic_stringstream(const __string_type& __str, ^ /usr/include/c++/4.8/sstream:553:7: note: no known conversion for argument 1 from 'std::string [100001] {aka std::basic_string<char> [100001]}' to 'const __string_type& {aka const std::basic_string<char>&}' /usr/include/c++/4.8/sstream:537:7: note: std::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::ios_base::openmode = std::_Ios_Openmode] basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) ^ /usr/include/c++/4.8/sstream:537:7: note: no known conversion for argument 1 from 'std::string [100001] {aka std::basic_string<char> [100001]}' to 'std::ios_base::openmode {aka std::_Ios_Openmode}' expozitie_auto.cpp:14:16: warning: suggest parentheses around comparison in operand of '==' [-Wparentheses] if(var%1000==var1%1000==x){ ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Expozitie auto 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ă.