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 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 C program to print look and say sequence? For example if u get the input as 1 then the sequence is 11 21 1211 111221 312211 12112221 .......(it counts the no. of 1s,2s etc which is in successive order) and this sequence is used in run-length encoding.
int a=1; printf("%d %d %d",a++,a++,a); need o/p in 'c' and what explanation too
#include<stdio.h> main() { struct xx { int x=3; char name[]="hello"; }; struct xx *s; printf("%d",s->x); printf("%s",s->name); }
Ramesh’s basic salary is input through the keyboard. His dearness allowance is 40% of basic salary, and house rent allowance is 20% of basic salary. Write a program to calculate his gross salary.
main() { char *cptr,c; void *vptr,v; c=10; v=0; cptr=&c; vptr=&v; printf("%c%v",c,v); }
Hi, i have a project that the teacher want a pyramid of numbers in C# or java...when we click a button...the pyramid should be generated in a listbox/or JtextArea...and the pyramid should have the folowing form: 1 232 34543 4567654 567898765 67890109876 7890123210987 890123454321098 90123456765432109 0123456789876543210 Plz help with codes...didn't find anything on the net.
main() { int c = 5; printf("%d", main||c); } a. 1 b. 5 c. 0 d. none of the above
source code for delete data in array for c
Predict the Output: int main() { int *p=(int *)2000; scanf("%d",2000); printf("%d",*p); return 0; } if input is 20 ,what will be print
main() { int x=5; for(;x!=0;x--) { printf("x=%d\n", x--); } } a. 5, 4, 3, 2,1 b. 4, 3, 2, 1, 0 c. 5, 3, 1 d. none of the above
prog. to produce 1 2 3 4 5 6 7 8 9 10