Pagini recente » Cod sursa (job #651120) | Cod sursa (job #539665)
Cod sursa(job #539665)
#include<stdio.h>
//#include<stdlib.h>
FILE* in;
FILE* out;
void afisare(int *s,int n)
{
int i;
for (i=0;i<n;i++)
fprintf(out,"%d ",s[i]);
fprintf(out,"\n");
}
bool cont(int k,int *s)
{
int i;
for (i=0;i<k;i++)
if (s[i]==s[k]) return false;
return true;
}
void back(int n)
{
int *s;
s=new int [n];
int k=0;
s[k]=0;
while (k>=0)
if (s[k]<n)
{
s[k]++;
if (cont(k,s))
if (k==n-1)
afisare(s,n);
else
{
k++;
s[k]=0;
}
}
else k--;
}
void citire(int &n)
{
in = fopen("permutari.in","r");
out = fopen("permutari.out","w");
fscanf(in,"%d",&n);
}
int main()
{
int n;
// printf("n:");
// scanf("%d",&n);
citire(n);
back(n);
fclose(in);
fclose(out);
// system("PAUSE");
return 0;
}