
Nguyên bản được gửi bởi
sonic33
[FIXED
void interchangesort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
cout<<"\n\n\nMang tang dan: "<<a[i];
}
[/FIXED]
Mình đang làm 1 bài xắp xếp nhưng mình ko thể xuất ra mãng tăng đc các bạn xem cho mình bị thiếu xót chỗ.
Bạn nên sửa lại hàm này như sau:
Code:
void interchangesort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(int i=0;i<n;i++) //in mảng
printf("%d\t",a[i]);
}
Góp ý:Tên hàm của bạn là InterchangeSort, là tên của thuật toán đổi chỗ trực tiếp, nhưng bạn lại dùng phương pháp sắp xếp sủi bọt (bubble sort), do đó mình nghĩ bạn nên đổi lại thành void BubbleSort(...) cho có ý nghĩa hơn.