#2812
Se dă un șir de cel mult 106 numere naturale din intervalul [0,103]. Se cere să se verifice dacă există un număr natural r, astfel încât toate numerele distincte din șir să poată fi rearanjate, pentru a forma o progresie aritmetică de rație r. Se afișează numărul r, sau mesajul NU, dacă nu există un astfel de număr.
Subiect Bacalaureat 2017, sesiune august-septembrie
| Problema | Progresie3 | Operații I/O |
progresie3.in/progresie3.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64800851 | Utilizator | |
| Fișier | progresie3.cpp | Dimensiune | 429 B |
| Data încărcării | 02 Iunie 2026, 10:51 | Scor/rezultat | Eroare de compilare |
progresie3.cpp:4:1: error: ‘ifsream’ does not name a type 4 | ifsream cin("progresie3.in"); | ^~~~~~~ progresie3.cpp:6:15: error: expected initializer before ‘fr’ 6 | int n,i,j,r,v fr[1001],x,bool,ok=1; | ^~ progresie3.cpp: In function ‘int main()’: progresie3.cpp:8:15: error: ‘x’ was not declared in this scope 8 | { while (cin>>x) fr[x]++; | ^ progresie3.cpp:8:18: error: ‘fr’ was not declared in this scope; did you mean ‘r’? 8 | { while (cin>>x) fr[x]++; | ^~ | r progresie3.cpp:10:18: error: ‘fr’ was not declared in this scope; did you mean ‘r’? 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^~ | r progresie3.cpp:10:20: error: two consecutive ‘[’ shall only introduce an attribute before ‘[’ token 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^ progresie3.cpp:10:20: error: expected ‘;’ before ‘[’ token 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^ | ; progresie3.cpp:10:21: error: expected identifier before ‘[’ token 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^ progresie3.cpp: In lambda function: progresie3.cpp:10:28: error: expected ‘{’ before ‘;’ token 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^ progresie3.cpp: In function ‘int main()’: progresie3.cpp:10:28: error: expected ‘)’ before ‘;’ token 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ~ ^ | ) progresie3.cpp:10:1: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^~~ progresie3.cpp:10:29: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^ progresie3.cpp:10:32: error: expected ‘;’ before ‘)’ token 10 | for(i=0;i<=1007&&fr[[i]==0];i++) | ^ | ; progresie3.cpp:12:7: error: ‘fr’ was not declared in this scope; did you mean ‘r’? 12 | while(fr[v]==0)i++; | ^~ | r progresie3.cpp:12:10: error: ‘v’ was not declared in this scope 12 | while(fr[v]==0)i++; | ^ progresie3.cpp:13:5: error: ‘x’ was not declared in this scope 13 | r=i-x;x=1;i++; cout<<r<<endl; | ^ progresie3.cpp:13:16: error: reference to ‘cout’ is ambiguous 13 | r=i-x;x=1;i++; cout<<r<<endl; | ^~~~ In file included from progresie3.cpp:1: /usr/include/c++/13/iostream:63:18: note: candidates are: ‘std::ostream std::cout’ 63 | extern ostream cout; ///< Linked to standard output | ^~~~ progresie3.cpp:5:10: note: ‘std::ofstream cout’ 5 | ofstream cout("progresie3.out"); | ^~~~ progresie3.cpp:14:24: error: ‘fr’ was not declared in this scope; did you mean ‘r’? 14 | while(i<=1007){ while (fr[i]==0) i++; | ^~ | r progresie3.cpp:15:12: error: reference to ‘cout’ is ambiguous 15 | if(i-x!=r){cout<<"NU";i=1007;ok=0;} | ^~~~ /usr/include/c++/13/iostream:63:18: note: candidates are: ‘std::ostream std::cout’ 63 | extern ostream cout; ///< Linked to standard output | ^~~~ progresie3.cpp:5:10: note: ‘std::ofstream cout’ 5 | ofstream cout("progresie3.out"); | ^~~~ progresie3.cpp:15:30: error: ‘ok’ was not declared in this scope 15 | if(i-x!=r){cout<<"NU";i=1007;ok=0;} | ^~ progresie3.cpp:17:4: error: ‘ok’ was not declared in this scope 17 | if(ok) | ^~ progresie3.cpp:18:1: error: reference to ‘cout’ is ambiguous 18 | cout<<r; | ^~~~ /usr/include/c++/13/iostream:63:18: note: candidates are: ‘std::ostream std::cout’ 63 | extern ostream cout; ///< Linked to standard output | ^~~~ progresie3.cpp:5:10: note: ‘std::ofstream cout’ 5 | ofstream cout("progresie3.out"); | ^~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Progresie3 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ă.