Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Ghép 2 mảng

Share
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Ghép 2 mảng

Bài gửi  admin on Wed Nov 25, 2009 6:33 pm

Ghép mảng 1 chiều A có độ dài n với mảng 1 chiều B có độ dài m vài lưu trong mảng 1 chiều C có độ dài là h.

Code:
#include <conio.h>
#include <stdio.h>

void NhapMang(int A[], int &n)
{
   printf("Nhap n = ");
   scanf("%d",&n);
   for(int i = 0; i<n ; i++)
   {
      printf("Phan tu %d =",i);
      scanf("%d", &A[i]);
   }
}

void XuatMang(int A[], int n)
{
   printf("\n");
   for(int i = 0; i<n ; i++)
   {
      printf("%d\t",A[i]);
   }

}

void Ghep(int A[], int n, int B[], int m, int C[], int &h)
{
   h = m +n;
   for(int i = 0; i<h; i++)
   if(i<n)
      C[i] = A[i];
   else
      C[i] = B[i-n];
      
}
void main()
{
   clrscr();
   int A[100],B[100],C[100], n, m,h;
   printf("Nhap mang A");
   NhapMang(A,n);
   printf("Nhap mang B\n");
   NhapMang(B,m);
   Ghep(A,n,B,m,C,h);
   printf("\nMang C\n");
   XuatMang(C,h);
   getch();
}
avatar
peterdrew
Nhập môn
Nhập môn

Tổng số bài gửi : 19
Points : 25
Join date : 09/07/2010
Age : 34
Đến từ : Viện Vũ khí_Bộ Quốc phòng

Re: Ghép 2 mảng

Bài gửi  peterdrew on Fri Jul 09, 2010 8:57 pm

Đây còn cả ghép 2 mảng vào một và sau đó sắp xếp tăng dần các phần tử trong dãy sau khi trộn nữa cơ!
Code:
#include <stdio.h>
#include <conio.h>
void GhepArray(int a[], int b[], int c[], int na, int nb, int &nc)
{
    int n = na + nb; nc = n;
    while (na && nb)
        if (a[na-1] > b[nb-1])
         c[--n] = a[--na];
        else
         c[--n] = b[--nb];

    while (na)
      c[--n] = a[--na];
    while (nb)
      c[--n] = b[--nb];
}

void XuatArray(int a[], int n)
{
    for (int k = 0; k < n; k++)
        printf("%d\t",a[k]);
}

int main()
{
    int a[] = {1,3,5,7,9};
    int b[] = {2,4,6,8};
    int c[100]; int n;
    GhepArray(a,b,c,sizeof(a)/sizeof(int),sizeof(b)/sizeof(int),n);
    XuatArray(c,n);
   getch();
   return 0;
}

    Hôm nay: Tue Oct 17, 2017 9:53 pm