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,10
4
]
(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.
void triplete(int a , int b , int c) { int cnt = 0; for(int i = a ; i <= b ; ++i) for(int j = i ; j <= b ; ++j) if(c - (i + j) >= j && c - (i + j) <= b) cout << '{' << i << ',' << j << ',' << c - (i + j) << '}' << endl, cnt++; if(cnt==0) cout << "nu exista"; }