thachthen_it Admin
Tổng số bài gửi : 53 Reputation : 0 Join date : 19/05/2011 Age : 32 Đến từ : trà vinh
| Tiêu đề: trộn 2 mảng tăng dân thành mảng mới giảm dần Mon May 30, 2011 2:15 pm | |
| GIẢI THUẬT:duyệt từ vị trí cuối mảng phần tử mảng nào có giá trị lớn hơn thì gán cho mảng c[], sau vòng lặp lớn đầu nếu 1 trong 2 mảng vẫn cần phần tử thì đổ thẳng vào mảng (do 2 mảng đã tăng và ta duyệt từ cuối mảng nên kết quả thõa điều kiện bài toán - Code:
-
void TronGiam(int a[],int b[],int c[],int na,int nb,int &nc) { nc=na+nb; int vta=na-1,vtb=nb-1; for(int i=0;i<nc;i++) { if(vta>=0&&vtb>=0) { if(a[vta]>b[vtb]) c[i]=a[vta--]; else c[i]=b[vtb--]; } else { if(vta==na) c[i]=b[vtb--]; else c[i]=a[vta--]; } } Xuat(c,nc); } | |
|