Informatică, întrebare adresată de mernaderfrand, 8 ani în urmă

PLssss Să se scrie o funcție numită afisareSolutii care primește un număr întreg c și afișează pe ecran toate soluțiile întregi ale ecuației x+y+z=c cu proprietatea că x≤y≤z și 0≤x,y,z. Semnătură funcție Funcția trebuie să se numească afisareSolutii. Funcția trebuie să primească un parametru întreg. Funcția nu va returna nimic, doar va afișa pe ecran soluțiile cerute. Precizări Fiecare soluție va fi afișată o singură dată, iar soluțiile vor fi afișate în ordine lexicografică Un sir v este mai mic lexicografic decât un șir w ambele având n elemente dacă ∃i≤n astfel încât v1..i−1=w1..i−1 și viPentru a compara soluțiile, putem să ne gândim că fiecare dintre soluții este un șir cu 3 elemente Fiecare soluție va fi afișată pe o linie separată. Restricții Numărul dat va fi mai mare decât 0 și mai mic decât 501. Exemplu afisareSolutii(3) nu va returna nimic și va afișa 0 0 3 0 1 2 1 1 1​

Răspunsuri la întrebare

Răspuns de marcalboni
0

Răspuns:

include <iostream>

using namespace std;

int n;

void afisareSolutii(int c)

{

int x,y,z;

for (x=0; x<c; ++x)

{

for (y=x; y<c; ++y)

{

z=c-x-y;

if (z>=y)

cout << x << " " << y << " " << z << endl;

}

}

}

int main()

{

cout << "n= "; cin >> n;

afisareSolutii(n);

}

Alte întrebări interesante