Detalii evaluare #64816867

Rezumat problemă

#4598

Fie s și c două cuvinte de lungime egală. Cuvântul s este format doar din litere mici ale alfabetului englez. Cuvântul c este format numai din cifre și reprezintă un cod.

Numim codificare a lui s pe baza codului c operația de construire a unui nou cuvânt t, î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.
Numim decodificare. operația inversă celei descrise anterior, prin care se determină cuvântul s cu codificarea t pe baza codului c.

Scrieţi un program care citește cuvintele t și c, și apoi determină cuvântul s prin procedeul descris în enunț.

Detalii

Problema Decod Operații I/O tastatură/ecran
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #64816867 Utilizator Mateș Stelian Ioan (matesstelianioan)
Fișier decod.cpp Dimensiune 459 B
Data încărcării 03 Iunie 2026, 11:44 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

decod.cpp: In function ‘int main()’:
decod.cpp:6:18: error: invalid conversion from ‘int8_t*’ {aka ‘signed char*’} to ‘std::basic_istream<char>::char_type*’ {aka ‘char*’} [-fpermissive]
    6 |     std::cin.get(h, 101);
      |                  ^
      |                  |
      |                  int8_t* {aka signed char*}
In file included from /usr/include/c++/13/iostream:42,
                 from decod.cpp:2:
/usr/include/c++/13/istream:444:22: note:   initializing argument 1 of ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::get(char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>; char_type = char; std::streamsize = long int]’
  444 |       get(char_type* __s, streamsize __n)
      |           ~~~~~~~~~~~^~~
decod.cpp:8:18: error: invalid conversion from ‘int8_t*’ {aka ‘signed char*’} to ‘std::basic_istream<char>::char_type*’ {aka ‘char*’} [-fpermissive]
    8 |     std::cin.get(k, 101);
      |                  ^
      |                  |
      |                  int8_t* {aka signed char*}
/usr/include/c++/13/istream:444:22: note:   initializing argument 1 of ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::get(char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>; char_type = char; std::streamsize = long int]’
  444 |       get(char_type* __s, streamsize __n)
      |           ~~~~~~~~~~~^~~
decod.cpp:9:32: error: ‘lenh’ was not declared in this scope; did you mean ‘lenk’?
    9 |     for(auto a = 0; h[a]; a++) lenh++;
      |                                ^~~~
      |                                lenk
decod.cpp:11:9: error: ‘lenh’ was not declared in this scope; did you mean ‘lenk’?
   11 |     if (lenh not_eq lenk) std::cout<<"cod incorect";
      |         ^~~~
      |         lenk
decod.cpp:13:13: error: invalid operands of types ‘int8_t [101]’ {aka ‘signed char [101]’} and ‘int’ to binary ‘operator%’
   13 |         uh=k%10;
      |            ~^~~
      |            | |
      |            | int
      |            int8_t [101] {aka signed char [101]}
decod.cpp:14:10: error: invalid operands of types ‘int8_t [101]’ {aka ‘signed char [101]’} and ‘int’ to binary ‘operator/’
   14 |         k/=10;
      |         ~^~~~
decod.cpp:14:10: note:   in evaluation of ‘operator/=(int8_t [101] {aka signed char [101]}, int)’

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Decod face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.

Du-te sus!