//Permutari prin alocare dinamica
# include <stdio.h>;
# include <conio.h>;
# include <alloc.h>;
# define MAX 100
struct nod{int util; struct nod * next;};
typedef struct nod NOD;
typedef NOD * NOD_PTR;
NOD_PTR vf;
int n,sol[MAX];
void final()
{
int i;
for(i=0;i<n;i++)
printf("%d ",sol[i]);
printf("\n");
}
int verif(int j, int k)
{
int i;
for(i=0;i<k;i++)
if(sol[i]==j) return 0;
return 1;
}
void back(int k)
{
int j;
if(k==n) final();
else
for(j=1;j<=n;j++)
if(verif(j,k))
{
sol[k]=j;
vf=s_push(vf,j)
}
vf=s_pop(vf,val);
}
void main(void)
{
clrscr();
printf("Intr n= ");
scanf("%d",&n);
back(0);
getche();
}
Niciun comentariu:
Trimiteți un comentariu