#3119
Impare_Bac
C++
Subprogramul Impare
are un singur parametru, n
, prin care primește un număr natural. Subprogramul înlocuiește fiecare cifră impară a lui n
cu cea mai mare cifră pară strict mai mică decât ea (astfel cifra 1
se înlocuieşte cu cifra 0
, cifra 3
cu cifra 2
etc.) și furnizează numărul obținut tot prin parametrul n
.
Scrieți definiția completă a subprogramului.
Bacalaureat 2019 Mate-Info
Problema | Impare_Bac | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #46703766 | Utilizator | |
Fișier | impare_bac.cpp | Dimensiune | 680 B |
Data încărcării | 21 Noiembrie 2023, 08:39 | Scor / rezultat | Eroare de compilare |
impare_bac.cpp: In function 'void n(int&)': impare_bac.cpp:8:5: error: invalid conversion from 'void (*)(int&)' to 'int' [-fpermissive] cop=n; ^ impare_bac.cpp:9:9: warning: the address of 'void n(int&)' will always evaluate as 'true' [-Waddress] while (n) {c=n%10; ^ impare_bac.cpp:9:17: error: invalid operands of types 'void(int&)' and 'int' to binary 'operator%' while (n) {c=n%10; ^ impare_bac.cpp:11:17: error: invalid operands of types 'void(int&)' and 'int' to binary 'operator/' n=n/10; ^ impare_bac.cpp:14:19: error: invalid operands of types 'void(int&)' and 'int' to binary 'operator%' while (cop) {c=n%10; ^ impare_bac.cpp:15:28: error: 'ok' was not declared in this scope if (c%2==1) {ok=0; for (i=c-1;i>=0 && ok==0;i=i-2) if v[i]!=0 {ok=1; ^ impare_bac.cpp:15:69: error: expected '(' before 'v' if (c%2==1) {ok=0; for (i=c-1;i>=0 && ok==0;i=i-2) if v[i]!=0 {ok=1; ^ impare_bac.cpp:19:28: error: expected '}' before 'else' else {nr=nr+c*p; ^ impare_bac.cpp:19:42: error: 'p' was not declared in this scope else {nr=nr+c*p; ^ impare_bac.cpp: At global scope: impare_bac.cpp:29:6: error: expected declaration before '}' token } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Impare_Bac 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ă.