# PBinfo #4277 – UpperLower – Rezolvare C++

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

## Enunț

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

void UpperLower(const char a[], char U[], char L[])
Funcția primește ca parametri trei șiruri de caractere a, U și L. Șirul U trebuie să memoreze caracterele din a, dar în care literele mici au fost convertite la majuscule, iar șirul L trebuie să memoreze caracterele din a, dar în care literele mari au fost convertite la litere mici.

Exemplu
Dacă a = I Am a Sith Lord, atunci după apelul UpperLower(a, U, L), vom avea U = I AM A SITH LORD, iar L = i am a sith lord.

Restricții și precizări

Șirul a poate conține și alte caractere în afară de litere, dar acestea rămân nemodificate.
Indexarea șirurilor începe de la 0

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 UpperLower(const char a[], char U[], char L[])
{
    int i;
    char ch;
    for (i = 0; a[i] != 0; i++)
    {
        U[i] = L[i] = ch = a[i];
        if ('a' <= ch && ch <= 'z') U[i] = ch - 32;
        if ('A' <= ch && ch <= 'Z') L[i] = ch + 32;
    }
    U[i] = L[i] = 0;
}
```

## Resurse

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