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 |
what will be the position of the file marker? a: fseek(ptr,0,SEEK_SET); b: fseek(ptr,0,SEEK_CUR);
main() { unsigned int i=65000; while(i++!=0); printf("%d",i); }
Which version do you prefer of the following two, 1) printf(ā%sā,str); // or the more curt one 2) printf(str);
write a c program to Reverse a given string using string function and also without string function
What is the output for the following program main() { int arr2D[3][3]; printf("%d\n", ((arr2D==* arr2D)&&(* arr2D == arr2D[0])) ); }
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.
can u give me the c codings for converting a string into the hexa decimal form......
main() { int x=5; clrscr(); for(;x<= 0;x--) { printf("x=%d ", x--); } } a. 5, 3, 1 b. 5, 2, 1, c. 5, 3, 1, -1, 3 d. ā3, -1, 1, 3, 5
How to swap two variables, without using third variable ?
104 Answers AB, ADP, BirlaSoft, Cisco, Cygnet Infotech, HCL, Hewitt, Honeywell, HP, IBM, Infosys, Manhattan, Microsoft, Mobius, Percept, Satyam, SofTMware, TCS, Wipro, Yamaha,
main() { char c; int i = 456; clrscr(); c = i; printf("%d", c); } a. 456 b. -456 c. random number d. none of the above
Code for 1>"ascii to string" 2>"string to ascii"
1 Answers Aricent, Global Logic,
What is the problem with the following code segment? while ((fgets(receiving array,50,file_ptr)) != EOF) ;