Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Combinatorica

Aranjamente

#include <iostream>

using namespace std;

char a[30][15];

int v[100],n;

void afisare(int k)

int i;

for(i=1;i<=k;i++)

cout<<a[v[i]];

cout<<endl;

int continuare(int k)

int i;

for(i=1;i<=k-1;i++)

if(v[i]==v[k])

return 0;

return 1;

void bk(int k)

int i;

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

v[k]=i;
if(continuare(k))

if(k==n)

afisare(k);

else

bk(k+1);

int main()

cin>>n;

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

cin>>a[i];

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

cout<<a[i]<<" ";

bk(1);

return 0;

Combinari

#include <iostream>

using namespace std;

char a[30][15];

int v[100],n,m;

void afisare(int k)

int i;

for(i=1;i<=k;i++)

cout<<a[v[i]];

cout<<endl;

int continuare(int k)
{

int i;

for(i=1;i<=k-1;i++)

if(v[i]>=v[k])

return 0;

return 1;

void bk(int k)

int i;

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

v[k]=i;

if(continuare(k))

if(k==m)

afisare(k);

else

bk(k+1);

int main()

cin>>n>>m;

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

cin>>a[i];

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

cout<<a[i]<<" ";

bk(1);

return 0;

Permutari

#include <iostream>
using namespace std;

int v[100],n;

void afisare(int k)

int i;

for(i=1;i<=k;i++)

cout<<v[i];

cout<<endl;

int continuare(int k)

int i;

for(i=1;i<=k-1;i++)

if(v[i]==v[k])

return 0;

return 1;

void bk(int k)

int i;

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

v[k]=i;

if(continuare(k))

if(k==n)

afisare(k);

else

bk(k+1);

int main()
{

cin>>n;

bk(1);

return 0;

Submultimi

#include <iostream>

using namespace std;

char a[30][15];

int v[100],n,m;

void afisare(int k)

int i;

for(i=1;i<=k;i++)

cout<<a[v[i]];

cout<<endl;

int continuare(int k)

int i;

for(i=1;i<=k-1;i++)

if(v[i]>=v[k])

return 0;

return 1;

void bk(int k)

int i;

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

v[k]=i;
if(continuare(k))

if(k==m)

afisare(k);

else

bk(k+1);

int main()

cin>>n;

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

cin>>a[i];

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

cout<<a[i]<<" ";

for(int m=1;m<=n;m++)

bk(1);

return 0;

You might also like