#2794
Fiind dat un cuvânt s, format numai din litere, și un cod c, de aceeași lungime cu s, format numai din cifre, numim codificare a lui s pe baza codului c operația de construire a unui nou șir, în care inițial se copiază prima literă din s, apoi, parcurgând de la stânga la dreapta restul șirului s, se adaugă litera curentă la începutul noului șir, dacă cifra corespunzătoare de pe aceeași poziție în c este pară, sau la finalul noului șir, în caz contrar.
Scrieţi un program care citește de la tastatură, de pe linii diferite, două cuvinte, notate cu s și c, fiecare având cel mult 100 de caractere, s fiind format doar din litere mici ale alfabetului englez, iar c fiind format doar din cifre. Programul construiește în memorie și afișează pe ecran cuvântul obținut prin codificarea lui s pe baza lui c, dacă cele două cuvinte au aceeași lungime, sau mesajul cod incorect, în caz contrar.
Subiect Bacalaureat 2018, sesiunea iunie-iulie
| Problema | Codificare | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64640501 | Utilizator | |
| Fișier | codificare.cpp | Dimensiune | 637 B |
| Data încărcării | 19 Mai 2026, 22:22 | Scor/rezultat | 100 puncte |
codificare.cpp: In function ‘int main()’: codificare.cpp:17:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 17 | for(int i=1;i<strlen(s);i++) | ~^~~~~~~~~~ codificare.cpp:17:7: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 17 | for(int i=1;i<strlen(s);i++) | ^~~ codificare.cpp:29:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 29 | cout<<r; | ^~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 20 | 20 | ||
| 2 | 0.001 secunde | OK. | 20 | 20 | ||
| 3 | 0.001 secunde | OK. | 20 | 20 | ||
| 4 | 0.001 secunde | OK. | 10 | 10 | ||
| 5 | 0.001 secunde | OK. | 10 | 10 | ||
| 6 | 0.001 secunde | OK. | 20 | 20 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Codificare 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ă.