# PBinfo #198 – submultimi – Rezolvare C++

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

## Enunț

Cerinţa
Se citește un număr natural nenul n. Să se afişeze, în ordine lexicografică, toate submulțimile nevide ale mulţimii {1,2,..,n}.

Date de intrare
Fişierul de intrare submultimi.in conţine pe prima linie numărul n.

Date de ieşire
Fişierul de ieşire submultimi.out va conţine pe fiecare linie câte o  submulțime, elementele unei submulțimi fiind separate printr-un spațiu.

Restricţii şi precizări

1 ≤ n ≤ 10

Exemplu:
submultimi.in

4
submultimi.out

1 
1 2 
1 2 3 
1 2 3 4 
1 2 4 
1 3 
1 3 4 
1 4 
2 
2 3 
2 3 4 
2 4 
3 
3 4 
4

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
int x[10], n;
void back(int k) {
    for (int i = x[k - 1] + 1; i <= n; ++i) {
        x[k] = i;
        for (int i = 1; i <= k; ++i)
        	out << x[i] << " ";
    	out << "\n";
        back(k + 1);
    }
} int main() {
    in >> n;
    back(1);
    return 0;
}
```

## Resurse

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