Click here to Skip to main content
15,903,743 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Random string generation not working fine? Pin
Le@rner3-Jul-11 20:57
Le@rner3-Jul-11 20:57 
Questiontrying to solve exam question and getting unreasonable length code, can it be shorter? Pin
atikot1-Jul-11 9:31
atikot1-Jul-11 9:31 
AnswerRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
User 74293381-Jul-11 10:47
professionalUser 74293381-Jul-11 10:47 
GeneralRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
atikot1-Jul-11 10:56
atikot1-Jul-11 10:56 
GeneralRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
User 74293381-Jul-11 11:03
professionalUser 74293381-Jul-11 11:03 
GeneralRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
atikot1-Jul-11 11:04
atikot1-Jul-11 11:04 
GeneralRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
Philippe Mori1-Jul-11 12:35
Philippe Mori1-Jul-11 12:35 
AnswerRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
Philippe Mori1-Jul-11 12:20
Philippe Mori1-Jul-11 12:20 
Since you are using 8 bits characters, one solution would be to allocate an array (of integers) for all possible letters and initialize the whole array to 0. Then for each received letter, you increment the appropiate count (the array is indexed by the ordinal value of the character).

After that, you could compute the size of the string to create.

As an alternative, this could also be done while receiving letters. Each time a letter is used for the first time, you must add 4 characters. And each time an incrementation cause the number of digit to increment (from 9 to 10, 99 to 100 etc...) add 1 to the required number of digits.

Then you can allocate the array. A special case would be when the input is empty. You would have to uses a size of 1 instead of 0.

Finally as the indexed array is already in order, you can then write the result skipping any count of 0. An ; need to be added before outputting the letter, space and count except for the first outputted item.

Then final '\0' need to be appended at the end.

By the way an array and a loop could be used to have the list of value when one digit need to be added. That is an array with values like 10, 100, 1000... up to the desired maximum (1e10 to support 32 bit integer range).

In fact, the code would be much simpler and shorter by assuming worst case (256 * 13) assuming a 32 bit program. You then output to that buffer and at the end, you allocated the final string using the actual length (+ 1) of the outputted string.

If temporary memory usage is not a problem, it could then easily be done in less than 20 lines of code.
Philippe Mori

AnswerRe: trying to solve exam question and getting unreasonable length code, can it be shorter? [modified] Pin
Alain Rist3-Jul-11 23:54
Alain Rist3-Jul-11 23:54 
GeneralRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
Stefan_Lang4-Jul-11 0:37
Stefan_Lang4-Jul-11 0:37 
GeneralRe: trying to solve exam question and getting unreasonable length code, can it be shorter? Pin
Alain Rist4-Jul-11 5:01
Alain Rist4-Jul-11 5:01 
QuestionC++ DLL for Metatrader 4 Platform Pin
babelproofreader1-Jul-11 8:24
babelproofreader1-Jul-11 8:24 
AnswerRe: C++ DLL for Metatrader 4 Platform Pin
Philippe Mori1-Jul-11 9:07
Philippe Mori1-Jul-11 9:07 
QuestionIOCP, Completion Key and Overlapped Pin
csrss1-Jul-11 7:39
csrss1-Jul-11 7:39 
AnswerRe: IOCP, Completion Key and Overlapped Pin
Mark Salsbery1-Jul-11 9:33
Mark Salsbery1-Jul-11 9:33 
GeneralRe: IOCP, Completion Key and Overlapped Pin
csrss1-Jul-11 10:48
csrss1-Jul-11 10:48 
GeneralRe: IOCP, Completion Key and Overlapped Pin
cmk1-Jul-11 11:37
cmk1-Jul-11 11:37 
GeneralRe: IOCP, Completion Key and Overlapped Pin
Mark Salsbery1-Jul-11 13:08
Mark Salsbery1-Jul-11 13:08 
GeneralRe: IOCP, Completion Key and Overlapped Pin
csrss1-Jul-11 19:51
csrss1-Jul-11 19:51 
GeneralRe: IOCP, Completion Key and Overlapped Pin
Mark Salsbery2-Jul-11 6:03
Mark Salsbery2-Jul-11 6:03 
AnswerRe: IOCP, Completion Key and Overlapped Pin
cmk1-Jul-11 10:46
cmk1-Jul-11 10:46 
GeneralRe: IOCP, Completion Key and Overlapped Pin
csrss1-Jul-11 11:13
csrss1-Jul-11 11:13 
QuestionEncryption/Decyption of String. Pin
Le@rner1-Jul-11 2:57
Le@rner1-Jul-11 2:57 
AnswerRe: Encryption/Decyption of String. Pin
Code-o-mat1-Jul-11 3:34
Code-o-mat1-Jul-11 3:34 
AnswerRe: Encryption/Decyption of String. Pin
cmk1-Jul-11 10:56
cmk1-Jul-11 10:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.