Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include <iostream>
- using namespace std;
- int printIntersection(int arr1[], int arr2[],int arr3[], int m, int n,int d)
- {
- int i = 0, j = 0;
- while (i < m && j < n) {
- if (arr1[i] < arr2[j])
- i++;
- else if (arr2[j] < arr1[i])
- j++;
- else {
- arr3[d++]=arr2[j++];
- i++;
- }
- }
- return d;
- }
- int printUnion(int arr1[],int arr2[],int arr4[],int m,int n,int c)
- {
- int i = 0, j = 0;
- while (i < m && j < n) {
- if (arr1[i] < arr2[j])
- arr4[c++]=arr1[i++];
- else if (arr2[j] < arr1[i])
- arr4[c++]=arr2[j++];
- else {
- arr4[c++]=arr2[j++];
- i++;
- }
- }
- while (i < m)
- arr4[c++]=arr1[i++];
- while (j < n)
- arr4[c++]=arr2[j++];
- return c;
- }
- void printDifference(int arr3[],int arr4[],int arr5[],int m,int n,int k){
- int p,flag,i=0,j=0;
- k=0;
- for(i=0;i<m;i++)
- {
- flag=1;
- for(j=0;j<n;j++)
- {
- if(arr3[i]==arr4[j])
- {
- flag=0;
- break;
- }
- }
- if(flag==1)
- {
- arr5[k]=arr3[i];
- k++;
- }
- }
- p=k;
- for(k=0;k <p;k++)
- {
- cout << arr[k] << endl;
- }
- }
- int main()
- {
- int arr1[20],arr2[20],arr3[20],arr4[20],arr5[20],i,j,n,m,k;
- printf("Enter size of first array:");
- scanf("%d",&m);
- printf("Enter elements of first array:\n");
- for(i=0;i<m;++i){
- cin >> arr1[i];
- }
- printf("\nEnter size of second array:");
- scanf("%d",&n);
- printf("Enter elements of second array:\n");
- for(i=0;i<n;++i){
- cin >> arr2[i];
- }
- int m2 = printIntersection(arr1, arr2, arr4, m, n, 0);
- int m1 = printUnion(arr1,arr2,arr3,m,n, 0);
- cout<<"Difference A-B is:";
- printDifference(arr3, arr4, arr5, m1, m2,0);
- getchar();
- return 0;
- }
Add Comment
Please, Sign In to add comment