15パズル

http://d.hatena.ne.jp/yaneurao/20050821

 1:void swap(int& i,int &j){
 2:  int t=i;
 3:  i=j;
 4:  j=t;
 5:}
 6:
 7:void make_16puzzle(){
 8:{
 9:  const int n=16;
10:  int a[n]; bool b=false;
11:  for(int i=0;i

8行目{の数があっていない。
あと、14行目、置換かどうかの判定がまずそう。rand()%(n-1)で飛ばしているから、後ろをすでに触っていて、置換になっているかの判定になっていない可能性がある。
4つでやると
012 b=false -> 102 b=true
102 b=true -> 012 b=true