#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 | #27485867 | Utilizator | |
Fișier | codificare.cpp | Dimensiune | 500 B |
Data încărcării | 24 Ianuarie 2021, 12:13 | Scor / rezultat | Eroare de compilare |
codificare.cpp: In function 'int main()': codificare.cpp:13:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i=0;i<strlen(s);i++) ^ codificare.cpp:15:27: error: invalid conversion from 'char' to 'char*' [-fpermissive] strcpy(s[0],t); ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iostream:38, from codificare.cpp:1: /usr/include/i386-linux-gnu/bits/string3.h:102:1: error: initializing argument 1 of 'char* strcpy(char*, const char*)' [-fpermissive] __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) ^ codificare.cpp:16:41: error: invalid conversion from 'char' to 'char*' [-fpermissive] if(c[i]%2==0) strcpy(s[i],t+1) ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iostream:38, from codificare.cpp:1: /usr/include/i386-linux-gnu/bits/string3.h:102:1: error: initializing argument 1 of 'char* strcpy(char*, const char*)' [-fpermissive] __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) ^ codificare.cpp:17:17: error: expected ';' before 'else' else for(j=strlen(c);j>0;j--) strcpy(s[i],t+1) ^ codificare.cpp:17:39: warning: statement has no effect [-Wunused-value] else for(j=strlen(c);j>0;j--) strcpy(s[i],t+1) ^ codificare.cpp:17:45: error: expected ';' before ')' token else for(j=strlen(c);j>0;j--) strcpy(s[i],t+1) ^
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ă.