Manish Chandra Sahu
BAN USERint find_uniq(int *array, int no_of_ele, int pos)
{
int c = 0;
if(no_of_ele == 0)
return 1;
c = array[pos]^array[no_of_ele-1];
if(c != 0 || (pos == no_of_ele-1))
{
return find_uniq(array, no_of_ele-1, pos);
}
else
{
return c;
}
}
int unique_array(int *array, int *u_array, int no_of_ele, int pos1, int pos2)
{
int c = 0;
if(pos1 == no_of_ele)
return pos2;
c = find_uniq(array, no_of_ele, pos1);
printf("%d -> %d\n",array[pos1], c);
if(c != 0)
{
u_array[pos2]=array[pos1];
pos2++;
}
pos1++;
return unique_array(array, u_array, no_of_ele, pos1, pos2);
}
int main()
{
int array[10]= {1,3,6,2,8,9,2,6,4,6};
int uniq_array[10]={};
int i = 0,
uniq_cnt = 0;
uniq_cnt=unique_array(array,uniq_array,10,0,0);
for(i=0; i<10; i++)
{
printf("%d ", array[i]);
}
printf("\n");
for(i=0; i<uniq_cnt; i++)
{
printf("%d ", uniq_array[i]);
}
printf("\n");
return 0;
}
- Manish Chandra Sahu August 07, 2014