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.

Date de intrare

Programul citește de la tastatură, de pe linii diferite, cele două cuvinte s și c

Date de ieșire

Programul va afișa pe ecran 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.

Restricții și precizări

  • cuvintele citite au cel mult 100 de caractere

Exemplu

Intrare

etalon
025843

Ieșire

oltean

Explicație

Inițial șirul conține litera e, apoi se adaugă, în ordinea parcurgerii lui s, literele tl și o la început, iar restul literelor la final.

SOLUTIE

#include <iostream>

using namespace std;

int main()
{
    string a,b,sol="";
    cin>>a>>b;
    if(a.size()!=b.size())
    {
          cout<<"cod incorect";
          return 0;
    }
    sol=a[0];
    for(int i=1;i<a.size();i++)
    {
          if((b[i]-'0')%2==0)
          sol=a[i]+sol;
          else sol=sol+a[i];
    }
    cout<<sol;
    return 0;
}
%d bloggers like this: