Tình hình là mình có làm bài tập sử dụng mảng động nhưng nó ko ra kết quả còn khi dùng mảng tĩnh vẫn ra bình thường, ai giúp mình với, do mới làm quen mảng động nên không biết ạ:
Sau đây là bài dùng mảng động của mình:
Mã:
#include <iostream>

using namespace std;

const int MAX=100;
int * cot; 
int * dong;
int * cheoxuoi;
int * cheonguoc;
int n,i,dem=0;

void Try(int i);
void Xuatkq();
void main()
{
	system("CLS");
	cout<<"Nhap n: ";
	cin>>n;
	cot=new int[n+1];
	dong=new int[n+1];
	cheonguoc=new int[n+1];
	cheoxuoi=new int[n+1];
	KhoiTao();
	//Xuatkq();
	Try(0);
	delete []cot;
	delete []dong;
	delete []cheonguoc;
	delete []cheoxuoi;
	cout<<"Tong so cach: "<<dem;
	
}
void Try(int i)
{
	if(i==n)
		Xuatkq();
	else
		for(int j=0;j<n;j++)
		{
			if(*(cot+j)==0 && *(cheoxuoi+i-j+n)==0 && *(cheonguoc+i+j)==0)
			{
				*(dong+i)=j;
				*(cot+j)=1;
				*(cheoxuoi+i-j+n)=1;
				*(cheonguoc+i+j)=1;
				Try(i+1);
				*(cheonguoc+i+j)=0;
				*(cheoxuoi+i-j+n)=0;
				*(cot+j)=0;
				*(dong+i)=0;
			}
		}
}

void Xuatkq()
{
	cout<<"Cach thu: "<<++dem<<endl;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			if(*(dong+i)==j)
			{

					cout<<"H"<<" ";
			}
			else
				cout<<0<<" ";
		cout<<endl;
	}
	cout<<endl;
}
Còn đây là khi dùng mảng tĩnh
Mã:
#include <iostream>
using namespace std;

const int MAX=100;

int cot[MAX];
int dong[MAX];
int cheoxuoi[MAX];
int cheonguoc[MAX];
int n,i,dem=0;

void Try(int i);
void Xuatkq();
void main()
{
	cout<<"Nhap n: ";
	cin>>n;
	Try(0);
	cout<<"Tong so cach: "<<dem;
	system("pause");
}

void Try(int i)
{
	if(i==n)
		Xuatkq();
	else
		for(int j=0;j<n;j++)
			if(cot[j]==0 && cheoxuoi[i-j+n]==0 && cheonguoc[i+j]==0)
			{
				dong[i]=j;
				cot[j]=1;
				cheoxuoi[i-j+n]=1;
				cheonguoc[i+j]=1;
				Try(i+1);
				cheonguoc[i+j]=0;
				cheoxuoi[i-j+n]=0;
				cot[j]=0;
				dong[i]=0;
			}
}

void Xuatkq()
{
	cout<<"Cach thu: "<<++dem<<endl;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			if(dong[i]==j)
					cout<<"H"<<" ";
			else
				cout<<0<<" ";
		cout<<endl;
	}
	cout<<endl;
}