Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int stL(char* str);
- int occ (int* arr1, int dim1, int* arr2, int dim2);
- int binSearch (int* arr1,int num, int sx, int dx);
- int occ (int* arr1, int dim1, int* arr2, int dim2)
- {
- int k;
- int occ=0;
- for (k=0;k<dim2;k++)
- occ+=binSearch(arr2,arr1[k],0,dim1);
- return occ;
- }
- int binSearch (int* arr1, int num,int sx,int dx)
- {
- int cx=(sx+dx)/2;
- if(sx > dx)
- return -1;
- if (sx==dx)
- if (arr1[sx]==num)
- return 1;
- else
- return 0;
- if (arr1[cx] == num) return 1;
- if (num<arr1[cx])
- return binSearch(arr1,num,sx,cx-1);
- else
- return binSearch(arr1,num,cx+1,dx);
- }
- int main()
- {
- int dim1;
- int dim2;
- int i;
- int* arr1;
- int* arr2;
- scanf("%d",&dim1);
- arr1 = (int*)malloc(sizeof(int)*dim1);
- for(i=0;i<dim1;i++)
- scanf("%d",&arr1[i]);
- scanf("%d",&dim2);
- arr2 = (int*)malloc(sizeof(int)*dim2);
- for(i=0;i<dim2;i++)
- scanf("%d",&arr2[i]);
- printf("%d\n",occ(arr1,dim1,arr2,dim2));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement