Mình nhập vào mảng 1 chiều và sắp xếp các phần tử của mảng theo thứ tự tăng dần, sử dụng con trỏ, nhưng lúc thì nó sắp xếp đúng, lúc thì sai, code của mình đây:
#include <iostream>
using namespace std;
void inputMatrix(float a[], int n)
{
for(int i=0; i<n; i++)
{
cout << "Nhap a["<<i<<"]: ";
cin >> a[i];
}
}
void outputMatrix(float a[], int n)
{
for(int i=0; i<n; i++)
{
cout << a[i] <<"\t";
}
}
void sapXep(float a[], int n)
{
float* ptr=&a[0]; float temp;
for(int i=1; i<n; i++)
{
if (*ptr>a[i])
{
temp=*ptr;
*ptr=a[i];
a[i]=temp;
}
ptr=ptr+1;
}
for(int i=0; i<n; i++)
{
cout <<a[i]<<"\t";
}
}
void main()
{
float A[100];
int phantu;
cout<<"Nhap so phan tu (<100): ";
cin >> phantu;
inputMatrix(A,phantu);
cout<<"Mang ban nhap:"<<endl;
outputMatrix(A,phantu);
cout<<"Mang sau khi sap xep:"<<endl;
sapXep(A, phantu);
system("pause");
}
nên đương nhiên là được. Vấn đề ở đây là thuật toán sort của bạn có vấn đề.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?