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 t
, l
ș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; }