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

Să se scrie un program C/C++/ Pascal care citeşte de la tastatură numărul natural N şi care scrie toate submulţimile cu 3 elemente ale mulţimii {1,2,…n}, N>3.


Utilizator anonim: Asta e tot enuntul sau mai e? Ai invatat backtraking? Elementele trebuie sa fie ordonate sau nu?
valentinn1945: nu trebuie ordonate. da am invatat backtraking
valentinn1945: asta e tot enuntul

Răspunsuri la întrebare

Răspuns de Utilizator anonim
0

#include <iostream>

using namespace std;

int x[100], n;

void prelsol() {

for (int i=1; i<=n; i++) {

cout<<x[i]<<" ";

}

}

int valid(int k) {

for (int i=1; i<=n; i++) {

if (x[i]==x[k]) return 0;

}

return 1;

}

void back() {

int k;

for (k=1; k<=n; k++) {

x[k]=0;

}

k=1;

while (k>0) {

if (k==n+1) {

prelsol();

k--;

}

else {

if (k<=n-1) {

x[k]++;

if (valid(k)) k++;

else {x[k]=0; k--;}

}

}

}

}


valentinn1945: mersi mult
Alte întrebări interesante