Code:

#include "math.h"
#include "conio.h"
#include "iostream.h"
#define max 20
char DanhDau[max];   //mang danh dau dinh duoc chon
int Luu[max], A[max];
int n;
/*Khoi tao cac bien*/
void Init(){
   cout<<"Nhap n = ";
   cin>>n;
   for(int i = 0; i<n; i++) {
      /*Danh dau vi tri i chua chon*/
      DanhDau[i] = 0;
      cout<<"A["<<i<<"] = ";
      cin>>A[i];
   }
}
/*Xuat ket qua ra man hinh*/
void Out(){
   cout<<endl;
   for(int i = 0; i<n; i++)
      cout<<Luu[i]<<" ";
}
/*Chinh hop khong lap*/
void Try(int i) {
   if(i==n)
      Out();
   else {
      for(int j = 0; j<n; j++)
      if(DanhDau[j] == 0) {      //neu dinh j chua duoc chon
         DanhDau[j] = 1;      //chon dinh j
         Luu[i] = A[j];      //luu lai gia tri dinh duoc chon
         Try(i+1);      //tim dinh tiep theo
         DanhDau[j] = 0;      //phuc hoi dinh j
      }
   }
}
/*Chuong trinh chinh*/
void main(){
   clrscr();
   Init();
   cout<<"Hoan vi mang A";
   Try(0);
   getch();
}