Pagini recente » Cod sursa (job #562091) | Cod sursa (job #2436990) | Cod sursa (job #411667) | Cod sursa (job #7251) | Cod sursa (job #272935)
Cod sursa(job #272935)
/*Acest program genereaza toate permutarile multimii
{1,2,3 ...N} in ordine lexicografica.
ex: N=3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
*/
#include<fstream.h>
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n,a[10];
int cond(int x,int m)
{int i;
for(i=1;i<=m;i++)
if(a[i]==x) return 0;
return 1;
}
void afisare()
{int i;
for(i=1;i<=n;i++)
fout<<a[i]<<" ";
//fout<<'\n';
}
void back(int poz)
{int i;
if(poz<=n)
for(i=1;i<=n;i++)
if(cond(i,poz)) {a[poz]=i;
if(poz<n) back(poz+1);
else afisare();
}
}
int main()
{fin>>n;
back(1);
fin.close();
fout.close();
return 0;
}