[ create a new paste ] login | about

Link: http://codepad.org/FhgivLGw    [ raw code | fork ]

C, pasted on Sep 21:
#include <stdio.h>

void Input (int a[], int b[], int *pnums_a, int *pnums_b)  //Nhập vào mảng a, b
{
    int i;

    scanf("%d", pnums_a);
    for(i=0; i<*pnums_a ; i++)
        scanf("%d", &a[i]);

    scanf("%d", pnums_b);
    for(i=0; i<*pnums_b ; i++)
        scanf("%d", &b[i]);
}

int Absent (int x, int c[], int nums_a, int m )  //Hàm kiểm tra sự tồn tại của a[i] trong mảng c
{
    int k;
    for(k=0; k<m; k++)    
    {
        if(x==c[k])
        {
            return 0;
        }
    }
    return 1;
}

void Intersection (int a[], int b[], int c[], int nums_a, int nums_b, int *pm)  //Kiểm tra phần tử giao nhau của mảng a và b
{
    int i, j;

    for(i=0; i<nums_a; i++)
    {
        for(j=0; j<nums_b; j++)
        {
            if(a[i] == b[j])      //Nếu có phần tử giao nhau
            {
                if( Absent(a[i], c, nums_a, *pm))    //Hàm kiểm tra sự có mặt của phần tử a[i] trong mảng c
                {
                    c[*pm] = a[i];     
                    (*pm)++;
                    break;
                }
            }
        }
    }
}

void Sort(int c[], int *pm)  //Sắp xếp mảng c[]
{
    int i, j;
    for(i=0; i<*pm-1; i++)
    {
       for(j=i+1; j<*pm; j++)
       {
           if(c[i] > c[j])
           {
               int temp = c[i];
               c[i] = c[j];
               c[j] = temp;
           }
       }
    }
}

int main()
{
    int a[100], b[100], c[100], nums_a=0, nums_b=0, m=0;
    Input(a , b, &nums_a, &nums_b);

    Intersection(a, b, c, nums_a, nums_b, &m);

    Sort(c, &m);

    int i;
    if(m>0)   //In ra mảng c
    {
        for(i=0; i<m; i++) 
        printf("%d ", c[i]);
    }
    return 0;
}


Output:
No errors or program output.


Create a new paste based on this one


Comments: