# PBinfo #2811 – Triplete – Rezolvare C++

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

## Enunț

Cerința
Subprogramul triplete are trei parametri, a, b și c, în această ordine, prin care primește câte un număr natural din intervalul [0,104] (a<b). Subprogramul afișează pe ecran în ordine lexicografică toate tripletele de numere naturale, x, y și z, soluții ale ecuației x+y+z=c, cu proprietatea că a≤ x≤ y≤ z≤ b.

Fiecare triplet afișat pe câte o linie și este încadrat între acolade, iar numerele x, y și z sunt afișate în această ordine, separate prin câte o virgulă. Dacă nu există niciun triplet cu proprietatea cerută, se afişează mesajul nu exista.

Scrieți definiția completă a subprogramului.

Exemplu
Dacă a=2, b=4 și c=8, se afișează pe ecran tripletele:

{2,2,4}
{2,3,3}
Dacă a=5, b=8, c=8 se afișează pe ecran mesajul nu exista.

Important
Soluția propusă va conține 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 triplete(int a, int b , int c)
{
    int gasit = 0;
    for(int x = a ; x <= b ; x ++)
        for(int y = x ; y <= b && x + y + y <= c ; y ++)
        {
            int z = c - x - y;
            if(y <= z && z <= b)
            {
                cout << "{" << x << "," << y << "," << z <<"}\n";
                gasit = 1;
            }
        }
    if(!gasit)
        cout << "nu exista\n";
}
```

## Resurse

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