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 |
1 o 1 1 0 1 0 1 0 1 1 0 1 0 1 how to design this function format in c-language ?
How to palindrom string in c language?
Write a program that reads a dynamic array of 40 integers and displays only even integers
what will be the output of this program? void main() { int a[]={5,10,15}; int i=0,num; num=a[++i] + ++i +(++i); printf("%d",num); }
Write a single line c expression to delete a,b,c from aabbcc
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.
Write a program to receive an integer and find it's octal equivalent. How can i do with using while loop.
#include<stdio.h> main() { const int i=4; float j; j = ++i; printf("%d %f", i,++j); }
main() { float i=1.5; switch(i) { case 1: printf("1"); case 2: printf("2"); default : printf("0"); } }
What is the problem with the following code segment? while ((fgets(receiving array,50,file_ptr)) != EOF) ;
Set up procedure for generating a wire frame display of a polyhedron with the hidden edges of the object drawn with dashed lines
#define f(g,g2) g##g2 main() { int var12=100; printf("%d",f(var,12)); }