codescracker


c

C Program to Find and Print Common Elements from Two Array



« C Tutorial C Examples »

In this tutorial, we will learn about how to create a program that allows user to enter any 10-10 array elements for two arrays, and then put all the common elements from both the array in third array. Here we have to put common elements in third array without putting any duplicate element. Finally print the value of third array as output. Here is the program:

// Write a program in C that read 10-10 elements
// for two arrays say a[10] and b[10]
// from user and then put common elements
// from both the array in third array
// (without putting any duplicate element)
// Then print the value of third array
// ----------codescracker.com--------

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[10], b[10], c[10], i, j, k=0, x, count;
    printf("Enter 10 elements for array A: ");
    for(i=0; i<10; i++)
    {
        scanf("%d", &a[i]);
    }
    printf("Enter 10 elements for array B: ");
    for(i=0; i<10; i++)
    {
        scanf("%d", &b[i]);
    }
    for(i=0; i<10; i++)
    {
        for(j=0; j<10; j++)
        {
            if(a[i]==b[j])
            {
                count = 0;
                for(x=0; x<k; x++)
                {
                    if(a[i]==c[x])
                        count++;
                }
                if(count==0)
                {
                    c[k] = a[i];
                    k++;
                }
            }
        }
    }
    printf("\nArray C (Contains Common Elements from two given Array):\n");
    for(i=0; i<k; i++)
    {
        printf("%d ", c[i]);
    }
    getch();
    return 0;
}

As the above program was written under Code::Blocks IDE, therefore after successful build and run, here is the sample run that you will also get on your output screen. Here is the first snapshot of the sample run:

c find common elements from two array

Now supply any 10 array elements for both the array and then press ENTER key to see the common elements from both the array as output as shown here in the second snapshot of the sample run:

c print common elements in two array

Here are some of the main steps used in above program:

Let's modify the above program and allow the user to provide the size for both the array along with its elements. Then put the common elements in third array without any duplicate element. Finally print out all the three array as output. Here is the program:

// Write a program in C to read values in two
// Array say array A and array B and put common
// elements in to third Array say array C.
// And print all the array at last.
// -----------codescracker.com-----------

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[50], b[50], c[50], i, limitA, limitB, j, k=0, x, count=0;
    printf("How many element you want to store in array A: ");
    scanf("%d", &limitA);
    printf("How many element you want to store in array B: ");
    scanf("%d", &limitB);
    printf("Enter any %d array elements for array A: ", limitA);
    for(i=0; i<limitA; i++)
    {
        scanf("%d", &a[i]);
    }
    printf("Enter any %d array elements for array B: ", limitB);
    for(i=0; i<limitB; i++)
    {
        scanf("%d", &b[i]);
    }
    for(i=0; i<limitA; i++)
    {
        for(j=0; j<limitB; j++)
        {
            if(a[i]==b[j])
            {
                count=0;
                for(x=0; x<k; x++)
                {
                    if(a[i]==c[x])
                        count++;
                }
                if(count==0)
                {
                    c[k]=a[i];
                    k++;
                }
            }
        }
    }
    printf("\nArray A:\n");
    for(i=0; i<limitA; i++)
    {
        if(i==(limitA-1))
            printf("%d", a[i]);
        else
            printf("%d, ", a[i]);
    }
    printf("\n\nArray B:\n");
    for(i=0; i<limitB; i++)
    {
        if(i==(limitB-1))
            printf("%d", b[i]);
        else
            printf("%d, ", b[i]);
    }
    printf("\n\nArray C:\n");
    for(i=0; i<k; i++)
    {
        if(i==(k-1))
            printf("%d", c[i]);
        else
            printf("%d, ", c[i]);
    }
    getch();
    return 0;
}

The program was build and run under Code::Blocks IDE, here is the first snapshot of the sample run:

c program put common element in third array

Let's provide the size and elements for both the array, press ENTER key to see both the array along with third array that contains the common elements from both the given array as shown in the second snapshot of the sample run here:

put common elements from two array c

« C Tutorial C Examples »






Tools
Calculator

Quick Links
Signup - Login - Give Online Test