mọi người giúp em sửa chữa code này với, nó sắp xếp không như mong muốn ạ
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
#include<conio.h>
#define size 100
#pragma warning (disable: 4996)
void gotoxy(int x, int y);
void sapxep(int a[], int n);
void taomang(int a[], int &n);
void xuatmang(int a[], int n);
void hoanvi(int &a, int &b, int c, int d);
int main()
{
int n, m;
int a[size];
taomang(a,n);
xuatmang(a,n);
gotoxy(0,8);
xuatmang(a,n);
sapxep(a,n);
getch();
}
void taomang(int a[], int &n)
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d", &a[i]);
}
void xuatmang(int a[], int n)
{
for(int i = 0 ; i < n ; i++)
printf("%d ",a[i]);
}
void sapxep(int a[], int n)
{
for (int i = 0; i < n-1; i++)
for (int j = i+1; j < n; j++)
if ( a[i] > a[j] )
hoanvi(a[i],a[j],i,j);
printf("\n\nDone!!!");
}
void gotoxy(int x, int y)
{
static HANDLE h = NULL;
if(!h)
h = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c = {x,y};
SetConsoleCursorPosition(h,c);
}
void hoanvi(int &a, int &b, int c, int d)
{
int tmp,tmp1,tmp2,tmp3;
for(int i = 7; i >= 4; i--)
{
Sleep(50);
gotoxy(c,i+1);
printf(" ");
gotoxy(c,i);
printf("%d",a);
tmp = i;
}
for(int i = 1; i <= d-c; i++)
{
Sleep(50);
gotoxy(c+i-1,tmp);
printf(" ");
gotoxy(c+i,tmp);
printf("%d",a);
tmp1 = c+i;
}
for(int i = 1; i <= 4; i++)
{
Sleep(50);
gotoxy(tmp1,tmp+i-1);
printf(" ");
gotoxy(tmp1,tmp+i);
printf("%d",a);
gotoxy(d,8+i-1);
printf(" ");
gotoxy(d,8+i);
printf("%d",b);
tmp2 = 8+i;
}
for(int i = 1; i <= d-c; i++)
{
Sleep(50);
gotoxy(d-i+1,tmp2);
printf(" ");
gotoxy(d-i,tmp2);
printf("%d",b);
tmp3 = d-i;
}
for(int i = tmp2; i >= 8; i--)
{
Sleep(50);
if(i != tmp2)
{
gotoxy(tmp3,i+1);
printf(" ");
}
gotoxy(tmp3,i);
printf("%d",b);
}
int temp = a;
a = b;
b = temp;
}


nhớ bữa mình cũng có ib hỏi mà nhỉ
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?