# PBinfo #4271 – Intercalate – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerința
Scrieți funcția cu următorul antet:

void Intercalate(char a[], char b[], char c[])
Funcția primește ca parametri trei șiruri de caractere a, b și c. Inițial c este vid și se vor depune în el caracterele din a și b astfel: întâi primul caracter din a, apoi primul caracter din b, apoi al doilea caracter din a, al doilea din b și procedeul continuă până când fie se termină caracterele din a, fie caracterele din b, fie ambele. Dacă au mai rămas caractere nedepuse din a sau din b, acestea se adaugă la final în c.

Exemplu
Dacă a = abcdefg și b = XYZ, atunci după apelul Intercalate(a, b, c), șirul c va deveni c = aXbYcZdefg. Dacă a = xy și b = AABBCCDD atunci după apelul Intercalate(a, b, c), șirul c va deveni c = xAyABBCCDD.

Restricții și precizări

Este garantat că vor încăpea în c toate caracterele din a și b.

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
void Intercalate(char a[], char b[], char c[])
{
    int i, j = 0;
    for (i = 0; a[i] != 0 && b[i] != 0; i++)
    {
        c[j++] = a[i];
        c[j++] = b[i];
    }
    while (a[i] != 0)
        c[j++] = a[i++];
    while (b[i] != 0)
        c[j++] = b[i++];
    c[j] = 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/4271)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/4271/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-4271/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
