Yêu cầu bài toán: Nhập mảng a và b (rồi sắp xếp tăng dần) sau đó gộp thành mảng c cũng đc sắp xếp tăng dần.
Code:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define size 100
void sapxep(int a[size],int n)
{
	int tg;
	for(int i=0;i<n-1;i++)
	  for(int j=i+1;j<n;j++)
		if(a[i]>a[j])
		 {
			tg=a[i];
			a[i]=a[j];
			a[j]=tg;
		 }
}
void nhap(int a[size],int n)
{
	randomize();
	for(int i=0;i<n;i++)
		a[i]=random(10000)%10;
}
void xuat(int a[size],int n)
{
	for(int i=0;i<n;i++)
		printf("%4d",a[i]);
	printf("\n");
}
void main()
{
	clrscr();
	int i,a[size],b[size],c[size],n,m;
	printf("Nhap so luong phan tu mang a: ");
	scanf("%d",&n);
	nhap(a,n); sapxep(a,n);
	printf("\nNhap so luong phan tu mang b: ");
	scanf("%d",&m);
	nhap(b,m); sapxep(b,m);
	xuat(a,n); xuat(b,m);
	for(i=0;i<n;i++)
		c[i]=a[i];
	for(i=0;i<m;i++)
		c[i+n]=b[i];
	sapxep(c,m+n);
	xuat(c,m+n);
	getch();
}
Bài mình có chỗ không hay ở phần gộp mảng. Nhưng làm biếng suy nghĩ nên chỉ biết làm có vậy. Mong đc các bạn đóng góp ý kiến để đưa ra hướng giải quyết tốt nhất

--------------------------------------------------
Xem các chủ đề cùng chuyên mục: