PDA

View Full Version : Các bài sắp sếp



boyqna9x
26-05-2009, 07:27 PM
Đề: nhập 1 mảng rồi sắp xếp sau đó chèn 1 số vào mảng đó và sắp sếp lại.

void nhap(float a[],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}
void sapxep(float a[],int n)
{
int i,j,tg;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(a[j]<a[i])
{
tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
}
void xuatsx(float a[],int n)
{
int i;
cout<<"SX:"<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<"\t";
cout<<endl;
}
void chen(float a[],int n,float chenso)
{
int i,j,m;
for(i=0;i<n;i++)
{
if(chenso<a[i])
{
j=i;
break;
}
}
for(m=n;m>=j;m--)
a[m]=a[m-1];
a[j]=chenso;
}
void main()
{
float a[100],chenso;
int n;
cout<<"Nhap so phan tu cho mang a:";cin>>n;
nhap(a,n);
sapxep(a,n);
xuatsx(a,n);
cout<<"Ban muon chen so gi:";cin>>chenso;
chen(a,n,chenso);
xuatsx(a,n+1);
}
Đề:Cho 2 mảng đã sắp xếp sau đó trộn 2 mảng đó và sắp xếp lại:

void nhap(float a[],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";cin>>a[i];
}
}
void sx(float a[],int n)
{
int i,tg,j;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
void xuat(float a[],int n)
{
int i;
for(i=0;i<n;i++)
cout<<a[i]<<"\t";
cout<<endl;
}
void tron(float a[],float b[],float c[],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
c[i]=a[i];
for(j=n;j<m+n;j++)
c[j]=b[j-n];
}
void main()
{
float a[100],b[100],c[100];
int n,m;
cout<<"Nhap so phan tu man a:";cin>>n;
nhap(a,n);
cout<<"Nhap so phan tu man a:";cin>>m;
nhap(b,m);
sx(a,n);
sx(b,m);
xuat(a,n);
xuat(b,m);
tron(a,b,c,n,m);
xuat(c,n+m);
sx(c,m+n);
}