then we can do it using queue.we keep on adding elements to the queue until we encountered delimiter.once a delimiter is encountered we just add a space in the queue ans skip all the delimiters...the process has to be repeated till we reach end of string
@Trent yes your code will work fine except the case when string ends with multiple delimiter then in that case you will never enter else statement.so you should put count condition at the end before adding str[z]='\0'.please check..:)
Given an integer n, write a function that returns count of trailing zeroes in n!. Examples: Input: n = 5 Output: 1 Factorial of 5 is 20 which has one trailing 0. Input: n = 20 Output: 4 Factorial of 20 is 2432902008176640000 which has 4 trailing zeroes. Input: n = 100 Output: 24
Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25525511135" , return ["255.255.11.135", "255.255.111.35"] . (Order does not matter)
I want to play a game on a circular table; the rules of which are something like this. (i) I will declare how many people are there initially which is say n. (ii) I will declare the starting position (iiI) I will declare k, which is the person i will keep killing till there is one survival. Eg:: if n =6 and k=3 i will first kill 3rd person then 6th person and so on finally 1st will survive. Now since you are the intelligent among the lot so i want you to come up with a formula which given k and n can help you figuring out a seat for yourself so that you will survive.
delimiters includes just spaces and tab?
ReplyDelete@anonymous you can consider it to include just spaces and tab..:)
ReplyDeletethen we can do it using queue.we keep on adding elements to the queue until we encountered delimiter.once a delimiter is encountered we just add a space in the queue ans skip all the delimiters...the process has to be repeated till we reach end of string
ReplyDelete@anonymous this should be done in a single parsing without using any extra space..:)
ReplyDeleteUsing counter :
ReplyDeletechar *remove_ts(char *str)
{
int i,z,count;
for(count=i=z=0;str[i];i++){
if(str[i]=='\t'||str[i]==' ')
count++;
else{
if(count){
str[z]=' ';
z++;
}
str[z]=str[i];
z++; count=0;
}
}
str[z]='\0';
return str;
}
@Trent yes your code will work fine except the case when string ends with multiple delimiter then in that case you will never enter else statement.so you should put count condition at the end before adding str[z]='\0'.please check..:)
ReplyDeleteyes i forgot that the last can be a space!
ReplyDeletehere a fix before str[z]='\0' :
if(str[i-1]==' '){str[z]=' '; z++;}