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
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 ? | 9 Yes | 4 No |
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 | 9 No |
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 ? | 3 Yes | 0 No |
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 |
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 |
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 |
Answer / karthikeyan s
/* Using LinkedHashSet concept */
/* No duplicate checking */
import java.util.*;
class Main
{
public static void main(String args[])
{
Scanner obj=new Scanner(System.in);
LinkedHashSet <Integer> l1=new LinkedHashSet<Integer>();
int n=obj.nextInt();
int a=0;
while(n-->0)
{
a=obj.nextInt();
l1.add(a);
}
System.out.println(l1 + " ");
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
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 |
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 |
main() { int a=2,*f1,*f2; f1=f2=&a; *f2+=*f2+=a+=2.5; printf("\n%d %d %d",a,*f1,*f2); }
#define int char main() { int i=65; printf("sizeof(i)=%d",sizeof(i)); }
main() { int i=5; printf("%d",++i++); }
#define max 5 #define int arr1[max] main() { typedef char arr2[max]; arr1 list={0,1,2,3,4}; arr2 name="name"; printf("%d %s",list[0],name); }
#define square(x) x*x main() { int i; i = 64/square(4); printf("%d",i); }
4 Answers Google, HCL, Quick Heal, WTF,
main() { unsigned char i=0; for(;i>=0;i++) ; printf("%d\n",i); }
#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); }
why the range of an unsigned integer is double almost than the signed integer.
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.
main() { int i; clrscr(); for(i=0;i<5;i++) { printf("%d\n", 1L << i); } } a. 5, 4, 3, 2, 1 b. 0, 1, 2, 3, 4 c. 0, 1, 2, 4, 8 d. 1, 2, 4, 8, 16
Write a program using one dimensional array to assign values and then display it on the screen. Use the formula a[i]=i*10 to assign value to an element.
1 Answers Samar State University,
how many processes will gate created execution of -------- fork(); fork(); fork(); -------- Please Explain... Thanks in advance..!