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 ?    8 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

Which one is taking more time and why ? :/home/amaresh/Testing# cat time.c //#include <stdio.h> #define EOF -1 int main() { register int c; while ((c = getchar()) != EOF) { putchar(c); } return 0; } ------------------- WIth stdio.h:- :/home/amaresh/Testing# time ./time_header hi hi hru? hru? real 0 m4.202s user 0 m0.000s sys 0 m0.004s ------------------ Witout stdio.h and with #define EOF -1 =================== /home/amaresh/Testing# time ./time_EOF hi hi hru? hru? real 0 m4.805s user 0 m0.004s sys 0 m0.004s -- From above two case , why 2nd case is taking more time ?

0 Answers  


Write a C program that defines a 2-dimentional integer array called A [50][50]. Then the elements of this array should randomly be initialized either to 1 or 0. The program should then print out all the elements in the diagonal (i.e. a[0][0], a[1][1],a[2][2], a[3][3], ……..a[49][49]). Finally, print out how many zeros and ones in the diagonal.

2 Answers  


main() { int i = 258; int *iPtr = &i; printf("%d %d", *((char*)iPtr), *((char*)iPtr+1) ); }

1 Answers  


What is the hidden bug with the following statement? assert(val++ != 0);

1 Answers  


main() { if (!(1&&0)) { printf("OK I am done."); } else { printf("OK I am gone."); } } a. OK I am done b. OK I am gone c. compile error d. none of the above

3 Answers   HCL,






Write a program to implement the motion of a bouncing ball using a downward gravitational force and a ground-plane friction force. Initially the ball is to be projected in to space with a given velocity vector

2 Answers  


#include<stdio.h> main() { int a[2][2][2] = { {10,2,3,4}, {5,6,7,8} }; int *p,*q; p=&a[2][2][2]; *q=***a; printf("%d..%d",*p,*q); }

1 Answers  


main() { while (strcmp(“some”,”some\0”)) printf(“Strings are not equal\n”); }

1 Answers  


how to return a multiple value from a function?

5 Answers   Wipro,


void main() { int k=ret(sizeof(float)); printf("\n here value is %d",++k); } int ret(int ret) { ret += 2.5; return(ret); }

1 Answers  


x=2 y=3 z=2 x++ + y++; printf("%d%d" x,y);

2 Answers  


struct Foo { char *pName; char *pAddress; }; main() { struct Foo *obj = malloc(sizeof(struct Foo)); clrscr(); obj->pName = malloc(100); obj->pAddress = malloc(100); strcpy(obj->pName,"Your Name"); strcpy(obj->pAddress, "Your Address"); free(obj); printf("%s", obj->pName); printf("%s", obj->pAddress); } a. Your Name, Your Address b. Your Address, Your Address c. Your Name Your Name d. None of the above

2 Answers   HCL,






Categories