#2794
Codificare
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 | #43518223 | Utilizator | |
Fișier | codificare.cpp | Dimensiune | 554 B |
Data încărcării | 01 Mai 2023, 16:52 | Scor / rezultat | Eroare de compilare |
codificare.cpp:21:1: error: stray '\342' in program cout << “cod incorect\n”; ^ codificare.cpp:21:1: error: stray '\200' in program codificare.cpp:21:1: error: stray '\234' in program codificare.cpp:21:1: error: stray '\' in program codificare.cpp:21:1: error: stray '\342' in program codificare.cpp:21:1: error: stray '\200' in program codificare.cpp:21:1: error: stray '\235' in program codificare.cpp:29:1: error: stray '\342' in program for (i = n – 1; i > 0; i–) { ^ codificare.cpp:29:1: error: stray '\200' in program codificare.cpp:29:1: error: stray '\223' in program codificare.cpp:29:1: error: stray '\342' in program codificare.cpp:29:1: error: stray '\200' in program codificare.cpp:29:1: error: stray '\223' in program codificare.cpp:31:1: error: stray '\342' in program if ((c[i] – ‘0’) % 2 == 0) ^ codificare.cpp:31:1: error: stray '\200' in program codificare.cpp:31:1: error: stray '\223' in program codificare.cpp:31:1: error: stray '\342' in program codificare.cpp:31:1: error: stray '\200' in program codificare.cpp:31:1: error: stray '\230' in program codificare.cpp:31:1: error: stray '\342' in program codificare.cpp:31:1: error: stray '\200' in program codificare.cpp:31:1: error: stray '\231' in program codificare.cpp:37:1: error: stray '\342' in program permutare[pozImpare–] = s[i]; ^ codificare.cpp:37:1: error: stray '\200' in program codificare.cpp:37:1: error: stray '\223' in program codificare.cpp:43:1: error: stray '\342' in program permutare[n] = ‘\0’; ^ codificare.cpp:43:1: error: stray '\200' in program codificare.cpp:43:1: error: stray '\230' in program codificare.cpp:43:1: error: stray '\' in program codificare.cpp:43:1: error: stray '\342' in program codificare.cpp:43:1: error: stray '\200' in program codificare.cpp:43:1: error: stray '\231' in program codificare.cpp:45:1: error: stray '\342' in program cout << permutare << ‘\n’; ^ codificare.cpp:45:1: error: stray '\200' in program codificare.cpp:45:1: error: stray '\230' in program codificare.cpp:45:1: error: stray '\' in program codificare.cpp:45:1: error: stray '\342' in program codificare.cpp:45:1: error: stray '\200' in program codificare.cpp:45:1: error: stray '\231' in program codificare.cpp: In function 'int main()': codificare.cpp:19:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if ((n = strlen(c)) != strlen(s)) { ^ codificare.cpp:21:12: error: 'cod' was not declared in this scope cout << “cod incorect\n”; ^ codificare.cpp:21:16: error: expected ';' before 'incorect' cout << “cod incorect\n”; ^ codificare.cpp:23:1: error: expected '}' before 'else' else ^ codificare.cpp:29:6: error: 'i' was not declared in this scope for (i = n – 1; i > 0; i–) { ^ codificare.cpp:29:16: error: expected ';' before numeric constant for (i = n – 1; i > 0; i–) { ^ codificare.cpp:31:18: error: expected ')' before numeric constant if ((c[i] – ‘0’) % 2 == 0) ^ codificare.cpp:33:28: error: expected ')' before ';' token permutare[pozPare++] = s[i]; ^ codificare.cpp:37:11: error: 'pozImpare' was not declared in this scope permutare[pozImpare–] = s[i]; ^ codificare.cpp:41:11: error: 'pozPare' was not declared in this scope permutare[pozPare] = s[0]; ^
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ă.