#include<iostream> using namespace std; void sapxep(int a[],int n) { int i,j,tg; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(a>a[j]) { tg=a; a=a[j]; a[j]=tg; } } void main() { int b[50]; int a[50]; int c[100]; int n,m,i,j,k; cout<<"nhap so luong phan tu mang a: "; cin>>n; for(i=0;i<n;i++) { cout<<"a["<<i<<"]=";cin>>a; } cout<<"nhap so luong phan tu mang b: "; cin>>m; for(j=0;j<m;j++) { cout<<"b["<<j<<"]=";cin>>b[j]; } //tron 2 mang for(i=0;i<n;i++) c=a; for(j=0;j<m;i++,j++) c=b[j]; sapxep(c,m+n); //hien thi mang c cout<<"mang sau khi tron va sap xep la: "<<endl; for(k=0;k<m+n;k++) cout<<"c["<<k<<"]="<<c[k]<<endl; }
Cái trên không thể gọi là trộn Cái này mới trộn 2 mảng lại với nhau nè PHP: #include <iostream.h> void nhap(int A[100],int n,char k) { int i; cout<<"Nhap gt cho Mang "<<k<<" : "<<endl; for(i=1;i<=n;i++) { cout<<"Nhap "<<i<<" : "; cin>>A[i]; } } void xuat(int A[100],int n,char k) { int i; cout<<"\n"; cout<<"Xuat Mang "<<k<<" : "; for(i=1;i<=n;i++) { cout<<A[i]<<" "; } cout<<"\n\n"; } int tron2mang(int A[100],int B[100],int n,int m) { int i,j,vt; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { if(A[i]<=B[j]) { vt=j; break; } } for(j=m;j>=vt;j--) B[j+1] = B[j]; B[vt]=A[i]; m+=1; } return m; } void main() { int n,m; int A[100],B[100]; cout<<"Nhap n : "; cin>>n; nhap(A,n,'A'); cout<<"Nhap m : "; cin>>m; nhap(B,m,'B'); xuat(A,n,'A'); xuat(B,m,'B'); m = tron2mang(A,B,n,m); xuat(B,m,'C'); }
Thừa nhận là 1 bài có nhiều cách giải nhưng Cái của ông là nhập 2 mảng đó vào 1 mảng thứ 3, rồi sắp xếp chứ ko phải là trộn. Trộn ở đây có nghĩa là 2 mảng nhập lại với nhau thành 1. Như ở đây là vẫn đảm bảo tăng dần.
thì ta dùng 1 mảng trung gian thứ 3 để trộn 2 mảng lại, vẫn đảm bảo tăng dần mà !!! hì hì,hay để ta hỏi thầy thử hen !, ok !!