Re: [algogeeks] Re: Run Length Decoding... inplace

2012-04-01 Thread Anurag atri
Hope this works http://ideone.com/MCLqO On Sun, Mar 25, 2012 at 4:37 PM, atul anand atul.87fri...@gmail.com wrote: @ Kalyanasundaram : no need to check you algo , bcozz i can clearly see you are not saving output to the bufffer , you are just printing it to stdout . please read prev comment

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-25 Thread raghavan M
by 1  From: atul anand atul.87fri...@gmail.com To: algogeeks@googlegroups.com Sent: Saturday, 24 March 2012 4:32 PM Subject: Re: [algogeeks] Re: Run Length Decoding... inplace @raghavan: wont work...take input as a1b1c4...it willl fail. read prev comment

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-25 Thread Kalyanasundaram
scanf(%s,a); l=strlen(a); for(i=l-1;i=0;i-=2) { while((a[i]--)-'0') printf(%c,a[i-1]); } This works fine when the count of characters is a 10 .Also no extra space used.If you find any mistake, please do correct me! On Sun, Mar 25, 2012 at 10:18 AM, SAMM

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-25 Thread atul anand
PM *Subject:* Re: [algogeeks] Re: Run Length Decoding... inplace @raghavan: wont work...take input as a1b1c4...it willl fail. read prev comment ... On 24 Mar 2012 14:23, raghavan M peacelover1987...@yahoo.co.in wrote: For sake of in-place Instead of doing it from the Start we can do

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-25 Thread atul anand
@ Kalyanasundaram : no need to check you algo , bcozz i can clearly see you are not saving output to the bufffer , you are just printing it to stdout . please read prev comment for better understanding the problem, On Sun, Mar 25, 2012 at 11:54 AM, Kalyanasundaram nks.22.1...@gmail.comwrote:

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-24 Thread raghavan M
  i hope it can be optimised by some way. not sure though. From: Ashish Goel ashg...@gmail.com To: algogeeks@googlegroups.com Sent: Saturday, 24 March 2012 1:19 AM Subject: Re: [algogeeks] Re: Run Length Decoding... inplace Atul a10 looks good however

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-24 Thread atul anand
*To:* algogeeks@googlegroups.com *Sent:* Saturday, 24 March 2012 1:19 AM *Subject:* Re: [algogeeks] Re: Run Length Decoding... inplace Atul a10 looks good however, when there are multiple such cases within the same string, it is is a problem because i would not know if the char is the real

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-24 Thread atul anand
@ashish: i guess you are thinking too much , question say you have character 'a' to 'z' and some value after which will tell ,how many times you shuld print it. if we take 15 as 1 then this would require other means of encoding to interpret it correctly. On Sat, Mar 24, 2012 at 1:19 AM,

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-24 Thread SAMM
In this question is it mandatory to use array here .Because the output and the space were the string is stored is required .. I was thinking of using LL approach .. Need four pointers to keep track of the positions . begin - store the beginning of the LL initially containing the pointer to he

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-23 Thread UTKARSH SRIVASTAV
I am considering that I am having total size of buffer that is maximum of output or input buffer and input is given in the buffer. My first approach of the solution was that 1. first traverse whole array and then count total number of characters that will be present in whole array. O(n) 2. fill

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-23 Thread saurabh singh
what if we simply use the same char instead of '\0' that would reduce one traversal? (@utkarsh We discussed that earlier in lab.Did u found out the bug in this approach?) Saurabh Singh B.Tech (Computer Science) MNNIT blog:geekinessthecoolway.blogspot.com On Fri, Mar 23, 2012 at 6:38 PM, UTKARSH

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-23 Thread UTKARSH SRIVASTAV
yes if we use char instead of that place then again we will loss the data on the input a1b1c4 On Fri, Mar 23, 2012 at 7:42 PM, saurabh singh saurab...@gmail.com wrote: what if we simply use the same char instead of '\0' that would reduce one traversal? (@utkarsh We discussed that earlier in

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-23 Thread saurabh singh
Yes u are correct...My bad...That obviously didn't made any sense Saurabh Singh B.Tech (Computer Science) MNNIT blog:geekinessthecoolway.blogspot.com On Fri, Mar 23, 2012 at 7:49 PM, UTKARSH SRIVASTAV usrivastav...@gmail.comwrote: yes if we use char instead of that place then again we will

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-23 Thread atul anand
@utkarsh: +1 On 23 Mar 2012 18:38, UTKARSH SRIVASTAV usrivastav...@gmail.com wrote: I am considering that I am having total size of buffer that is maximum of output or input buffer and input is given in the buffer. My first approach of the solution was that 1. first traverse whole array and

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-23 Thread Ashish Goel
Atul a10 looks good however, when there are multiple such cases within the same string, it is is a problem because i would not know if the char is the real character of the string or part ofthe length eg a10115 is a valid string and can be interpreted as a01 or a 10115 times. RLE is the

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-21 Thread atul anand
wasnt able to come up with an algo which would satisfy all the cases input like a1b1c4 here output length is equal to input length . till now i dont knw how to handle these type of input. :( :( On Wed, Mar 21, 2012 at 10:02 AM, atul anand atul.87fri...@gmail.comwrote: @Gene : yes you are right

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-21 Thread Ashish Goel
Gene, Atul How would a string of say 257 or say 10 times a would be represented, will it be a10 or aascii of 10 Best Regards Ashish Goel Think positive and find fuel in failure +919985813081 +919966006652 On Wed, Mar 21, 2012 at 2:04 PM, atul anand atul.87fri...@gmail.com wrote: wasnt able to

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-20 Thread atul anand
this will work even if run length is 1. #includestdio.h #define MAX 1000 int copy(char *str,int len) { int max_len=MAX-1,i; for(i=len-1;i=0;i--) { str[max_len]=str[i]; max_len--; } return max_len+1; } void runLength(char *str) { unsigned int j,k=1,loop=0,res_len=0;

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-20 Thread atul anand
using Gene logic , but we need to take care of number with more than 1 digits , so updated gene's code is as follows :- #includestdio.h #define MAX 1000 int copy(char *str,int len) { int max_len=MAX-1,i; for(i=len-1;i=0;i--) { str[max_len]=str[i]; max_len--; }

[algogeeks] Re: Run Length Decoding... inplace

2012-03-20 Thread Gene
I don't think you're seeing the requirement completely. The problem promises only that the output buffer will be big enough to hold the output. You have made it huge. I tried your code on an input of a1b1c6 with the required output space of 8 characters (plus 1 for the C null character), and

Re: [algogeeks] Re: Run Length Decoding... inplace

2012-03-20 Thread atul anand
@Gene : yes you are right , i misunderstood the problem . so m/m available is just enough to hold the output. thanks for correcting ... that would make this ques little interesting :) :)...i guess my first posted code can be modified to meet the requirement. i will post the updated code. On Tue,

[algogeeks] Re: Run Length Decoding... inplace

2012-03-19 Thread Gene
It's not hard if all the run lengths are at least 2. void decode(char *buf, int in_size, int buf_size) { int i, j, rl, p; char t; // Reverse the input. for (i = 0, j = in_size - 1; i j; i++, j--) { t = buf[i]; buf[i] = buf[j]; buf[j] = t; } // Copy to end of buffer (carefully)