Write, efficient code for extracting unique elements from
a sorted list of array.

e.g. (1, 1, 3, 3, 3, 5, 5, 5, 9, 9, 9, 9) -> (1, 3, 5, 9).




Answers were Sorted based on User's Feedback



Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / sandeep tiwari

void main()
{
int i,j;
int a[11]={1,1,3,3,3,5,5,5,9,9,9,9};
clrscr();
i=a[0];
printf("%d",i);

for(j=1;j<11;j++)
{
if(a[j]!=a[i])
{
if(a[j-1]==a[j])
continue;
else
printf("%d",a[j]);
i=j;
}
}
getch();
}
}

Is This Answer Correct ?    7 Yes 2 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / raghuram.a

#include<stdio.h>
#include<conio.h>
int getarray(int p[100], int n)
{
int c, i = 1;
for (c=1; c <n; )
if (p[c] != p[i-1])
{
p[i] = p[c];
c++;
i++;
} else
c++;
return i;
}
main()
{
int a[100],n,i,j;
printf("enter n:");
scanf("%d",&n);
printf("enter elements:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
j=getarray(a,n);
printf("new array is:");
for(i=0;i<j;i++)
printf("\t%d",a[i]);
getch();
return 0;
}

Is This Answer Correct ?    12 Yes 8 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / suraj bhan gupta

#include<stdio.h>
main(){
int a[10],start,i,c=1;
clrscr();
printf(" Enter ten elements in sorted order : ");
for (i=0 ; i<10 ; i++){
scanf("%d",&a[i]);
}

start = a[0];
for (i=1 ; i<10 ; i++){
if (start == a[i]){
c++; // we can eliminate
variable c using only index of array
}else{
printf(" %d no %d times
present",start,c);
start = a[i];
c=1;
}
}
getch();
}

Is This Answer Correct ?    3 Yes 1 No




Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / msvinod

/*This c program aimed at printing the unique numbers in a
sorted array of repeating numbers.*/
#include<stdio.h>
main(){
int len=0,i=0,rep=0; /*Initializing the identifiers*/
printf("Enter length of array :--");
scanf("%d",&len); /*Input for array length*/
int arr[len]; /*Initializing array*/
for(i=0;i<len;i++){ /*Running loop for input of array
elements*/
printf("%dth element :--",i);
scanf("%d",&arr[i]);
}
rep=arr[0]; /*Assigning array first value to rep*/
printf("Unique array :-- [%d,",rep); /*Printing of array
starts here*/
for(i=0;i<len;i++){ /*Running loop to print all the
unique elements of array*/
if(arr[i]!=rep){
rep=arr[i]; /*Assaigning new value to rep*/
printf("%d,",rep);
}
}
printf("]\n"); /*Closing array output*/
}
/*THE END*/

Is This Answer Correct ?    2 Yes 0 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / ram

main ()
{

int a[] = { 1, 1, 3, 3, 3, 5, 5, 5, 9, 9, 9, 9 };
int i = 0, key;
int size;

size = sizeof (a) / sizeof (int);
key = a[i];

for (; i < size; i++)
{
if (key != a[i])
{
printf ("\n %d", a[i]);
key=a[i];
}
}
}

Is This Answer Correct ?    7 Yes 6 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / john

int a[] = { 1, 3, 1, 5, 1, 9, 4, 1, 3, 2, 3, 9 };
int* b;
int i = 0;
int max = 0;
int size = sizeof(a)/sizeof(int);

//find biggest element in array
for(; i < size; i++){
if(a[i] > max)
max = a[i];
}

//fill b with 0's
b = malloc(max*sizeof(int));
for(i = 0; i < max; i++){
b[i] = 0;
}

//use b to check for duplicates
for(i = 0; i < 12; i++){
b[a[i]]++;
if(b[a[i]] == 1)
printf("%d\n", a[i]);
}

Is This Answer Correct ?    1 Yes 1 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / karl miro

/*this program only stores a maximum of 30 unique possitive elements*/
#include<stdio.h>
#include<conio.h>
#define SIZE 30 /*change the value of size to adjust
maximum size of array*/
void main()
{
int array[SIZE],cnt=0,temp,i,flag;
clrscr();
do
{
flag=1;
printf("Please input an element(input -1 to end):");
scanf("%d",&temp);
if(temp==-1)
{break;}
else
for(i=0;i<cnt;i++)
{
if(temp==array[i])
flag=0;
}
if(flag)
{
array[i]=temp;
cnt++;
}
}while(temp!=-1);
printf("The elements are:\n");
for(i=0;i<cnt;i++)
printf(" %d ",array[i]);
}

Is This Answer Correct ?    1 Yes 1 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / neo

didn't find the posts good enough, was looking for a very
structured code, professional:

<CODE>
{
int i, j, iLen;
char *sTmpStr;

iLen = (int) strlen(sStr);
sTmpStr = (char *)malloc(sizeof(char) * iLen);

for(i = 0;i < iLen; i++)
sTmpStr[i] = sStr[i];

for(i = 0, j = iLen - 1; i < iLen/2; i++, j--)
sStr[i] = sTmpStr[j];
free(sTmpStr);
return;
}


int main()
{
char sStr1[] = {"This is an awful string"};
char sStr2[] = {"This is a K...O...O...L string"};

printf("String 1: %s\n", sStr1);
StrRevNoTempVar(sStr1);
printf("String 1 Rev: %s\n", sStr1);

printf("String 2: %s\n", sStr2);
StrRevNoTempVar(sStr2);
printf("String 2 Rev: %s\n", sStr2);

return 0;
}
</CODE>

Is This Answer Correct ?    0 Yes 4 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / neo

Crap <Posted Wrong Piece>, excuse.

<CODE>
// Write, efficient code for extracting unique elements
from a sorted list of array.
// e.g. (1, 1, 3, 3, 3, 5, 5, 5, 9, 9, 9, 9) -> (1, 3, 5,
9).

#include <stdio.h>


void RemoveDumInSortedList(int *iArr, int iSize)
{
int i, j, k, iCurrNo = 0;

for(i = 0, j = i + 1; j < iSize;)
{

if(iArr[j] == iArr[i])
{
j++;
}
else
{
iArr[++i] = iArr[j];
j++;
}
}

for(j = 0; j <= i; j++)
printf("ARRAY[%d] = %d\n", j, iArr[j]);
}


int main()
{
int iArr1[] = {1, 1, 3, 3, 3, 5, 5, 5, 9};
int iArr2[] = {1, 2, 2, 3, 4, 5, 5};

RemoveDumInSortedList(iArr2, sizeof(iArr2)/sizeof
(int));

return 0;
}
</CODE>

Is This Answer Correct ?    0 Yes 4 No

Write, efficient code for extracting unique elements from a sorted list of array. e.g. (1,..

Answer / abraham

/* Using the same array and no extra storage space*/
/* "Nothing's far when one wants to get there." */

#include<stdio.h>

main()
{
int a[] = {1, 1, 3, 3, 3, 5, 5, 5, 9, 9, 9,10};
int cur = 0;
int i = 0;

for (i = 1 ; i < (sizeof(a)/4) ;i++)
{
if ( a[cur] != a[i])
{
++cur;
if (cur != i)
{
a[cur] = a[i];
}
}
}
a[++cur] = '\0';
for (i =0 ; i< cur;i++)
printf ("%d\n",a[i]);
}

Is This Answer Correct ?    2 Yes 6 No

Post New Answer



More C Code Interview Questions

int swap(int *a,int *b) { *a=*a+*b;*b=*a-*b;*a=*a-*b; } main() { int x=10,y=20; swap(&x,&y); printf("x= %d y = %d\n",x,y); }

1 Answers  


write a c program to Create a mail account by taking the username, password, confirm password, secret_question, secret_answer and phone number. Allow users to register, login and reset password(based on secret question). Display the user accounts and their details .

2 Answers  


#define SQR(x) x * x main() { printf("%d", 225/SQR(15)); } a. 1 b. 225 c. 15 d. none of the above

3 Answers   HCL,


How will u find whether a linked list has a loop or not?

8 Answers   Microsoft,


main() { int i=4,j=7; j = j || i++ && printf("YOU CAN"); printf("%d %d", i, j); }

1 Answers  






Write a C function to search a number in the given list of numbers. donot use printf and scanf

4 Answers   TCS, Honeywell,


Write a procedure to implement highlight as a blinking operation

2 Answers  


What is your nationality?

1 Answers   GoDB Tech,


4. Main() { Int i=3,j=2,c=0,m; m=i&&j||c&I; printf(“%d%d%d%d”,I,j,c,m); }

2 Answers   Broadridge,


main() { int i=0; while(+(+i--)!=0) i-=i++; printf("%d",i); }

9 Answers   CSC, IBM, GoDB Tech,


what is the output of following program ? void main() { int i=5; printf("%d %d %d %d %d ",i++,i--,++i,--i,i); }

10 Answers  


main() { int i=0; for(;i++;printf("%d",i)) ; printf("%d",i); }

1 Answers   Zoho,






Categories