To Write a C program to remove the repeated characters in
the entered expression or in entered characters(i.e)
removing duplicates.
Answers were Sorted based on User's Feedback
Answer / adarsh
#include<stdio.h>
#include<string.h>
main()
{
char a[100],b[100]={0};
printf("Enter the string\n");
scanf("%s",a);
int f=strlen(a);
int i,j,k=0,count=0;
for(i=0;i<f;i++)
{
for(j=0;j<i;j++)
{
if(a[i]==b[j])
{
count=1;
}
}
if(count==0)
{
b[k++]=a[i];
}
count=0;
}
for(j=0;j<strlen(b);j++)
{
printf("%c",b[j]);
}
}
| Is This Answer Correct ? | 154 Yes | 89 No |
Answer / ashish
#include<stdio.h>
#include<string.h>
void main()
{
int tail=1;
char str[200];
int d=0,i;
clrscr();
printf("\nenter the string:");
scanf("%s",&str);
d=strlen(str);
for(i=1;i<d;++i)
{
int j;
for(j=0;j<tail;++j)
{
if(str[i]==str[j])
break;
}
if(j==tail)
{
str[tail]=str[i];
++tail;
}
}
str[tail]=0;
printf("the string is:%s",str);
getch();
}
| Is This Answer Correct ? | 30 Yes | 16 No |
Answer / tls
int remove_duplicates(char *str)
{
int char_check=0;
int i,j;
char ch;
if(str == NULL)
return 0;
/* check from 1st character in the string */
while(str[char_check]) {
ch = str[char_check];
i = j = char_check + 1;
/* logic to remove the repeated character */
while(str[i]) {
if(str[i] != ch) {
str[j] = str[i];
j++;
}
i++;
}
str[j]='\0';
char_check++;
}
printf("String after removing duplicates : %s\n",str);
return 1;
}
| Is This Answer Correct ? | 63 Yes | 52 No |
Answer / srikanth
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char *input_str,*output_str;
int str_len,i,j,duplicate_count;
clrscr();
printf("\n Enter your String : ");
scanf("%s",input_str);
str_len=strlen(input_str);
output_str[0]=input_str[0];
output_str[1]='\0';
for(i=1;i<str_len;i++)
{
duplicate_count=0;
for(j=0;output_str[j]!='\0';j++)
{
if(output_str[j]==input_str[i])
{
duplicate_count=1;
}
}
if(duplicate_count==0)
{
output_str[j]=input_str[i];
output_str[j+1]='\0';
}
}
printf("The Resultent out put string is : %s",output_str);
getch();
}
| Is This Answer Correct ? | 21 Yes | 15 No |
Answer / munesh sharma
char* removeDuplicate(char str[])//remove duplicate characters from a string,so that each character in a string is not repeating
{
int i = 0,j;
char ch;
printf("\nstr is %s",str);
while((ch = str[i++] )!= '\0')
{
j = i;
printf("\n----ch = %c----",ch);
while(str[j] != '\0')
{
printf("\n--------Checking whether %c = %c \n",str[j],ch);
if(ch == str[j])
{
printf("\n------------Yes");
while(str[j]!='\0')
{
printf("\nRemoving %c %d -- \n",str[j]);
str[j] = str[++j];
--i;
}
break;
}
printf("\n------------No");
//printf("\njj");
j++;
}
}
return str;
}
| Is This Answer Correct ? | 6 Yes | 0 No |
Answer / utsav kumar
#include<stdio.h>
main()
{
char s[50];
int i=0,j;
printf("enter character string:");
while((s[i]=getchar())!='\n')
{
for(j=0;j<i;j++)
if(s[j]==s[i])
i--;
i++;
}
printf("after removing the duplicates the string is:");
for(j=0;j<i;j++)
printf("%c",s[j]);
}
| Is This Answer Correct ? | 17 Yes | 11 No |
Answer / anbu
/Made few corrections...
int remove_duplicates(char *str)
{
int char_check=0;
int i,j;
char ch;
char filterstr[256]; // new
if(str == NULL)
return 0;
/* check from 1st character in the string */
while(str[char_check]) {
ch = str[char_check];
i = j = char_check+1;
filterstr[0] = str[0]; // added
/* logic to remove the repeated character */
while(str[i]) {
if(str[i] != ch) {
filterstr[j] = str[i]; //modifid
j++;
}
i++;
}
filterstr[j]='\0'; //modified
str = filterstr; //added
char_check++;
}
printf("String after removing duplicates : %
s\n",filterstr);
return 1;
}
| Is This Answer Correct ? | 13 Yes | 9 No |
Answer / mbm
char *remove_duplicates(char *str)
{
char *str1, *str2;
if(!str)
return str;
str1 = str2 = str;
while(*str2)
{
if(strchr(str, *str2)<str2)
{
str2++;
continue;
}
*str1++ = *str2++;
}
*str1 = '\0';
return str;
}
| Is This Answer Correct ? | 15 Yes | 12 No |
Answer / migf1
char *s_stripdups( char *s )
{
register char *cp1 = NULL; /* for parsing the whole s */
register char *cp2 = NULL; /* for keeping desired *cp1's */
int used[256] = {0}; /* ascii boolean map, for used chars */
/* sanity checks */
if ( !s ) {
errno = EFAULT;
return NULL;
}
if ( !*s ) {
errno = EINVAL;
return s;
}
for (cp1=cp2=s; *cp1; cp1++ )
{
if ( 0 == used[(int)(*cp1)] ) { /* 1st occurence of *cp1 */
*cp2++ = *cp1; /* copy it to start of s, via cp2 */
used[(int)(*cp1)] = 1; /* mark it as used */
}
}
*cp2 = 0; /* null terminate the trimmed s */
return s;
}
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / surya
Please send some important programming asked by product companies
to this mail id suryabharathi8@gmail.com
by
Surya
| Is This Answer Correct ? | 0 Yes | 0 No |
Given only putchar (no sprintf, itoa, etc.) write a routine putlong that prints out an unsigned long in decimal.
6 Answers Fusion Systems GmbH,
How do you verify if the two sentences/phrases input is an anagram using predefined functions in string.h and by using arrays?
write a program in c to merge two array
write a program for area of circumference of shapes
what is brs test reply me email me kashifabbas514@gmail.com
void main() { int const * p=5; printf("%d",++(*p)); }
3 Answers Infosys, Made Easy, State Bank Of India SBI,
C statement to copy a string without using loop and library function..
main() { int i=0; for(;i++;printf("%d",i)) ; printf("%d",i); }
write a c program to Create employee record by taking details like name, employee id, address and phone number. While taking the phone number, take either landline or mobile number. Ensure that the phone numbers of the employee are unique. Also display all the details
Write a C program to print ‘Campus Force training’ without using even a single semicolon in the program.
#include<stdio.h> main() { struct xx { int x; struct yy { char s; struct xx *p; }; struct yy *q; }; }
Write a Program that Inputs 10 Numbers in an Array and Show the Maximum Number