#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;
}