sepp2k's Profile User Rating: *****

Reputation: 2226 Grandmaster
Group:
Mentors
Active Posts:
3,442 (2.4 per day)
Joined:
21-June 11
Profile Views:
56,441
Last Active:
User is offline Today, 02:35 AM
Currently:
Offline

Previous Fields

Country:
DE
OS Preference:
Linux
Favorite Browser:
Who Cares
Favorite Processor:
Who Cares
Favorite Gaming Platform:
Who Cares
Your Car:
Who Cares
Dream Kudos:
0
Expert In:
C/C++, Functional Programming, Java, Python, Computer Science
Icon   sepp2k has not set their status

Posts I've Made

  1. In Topic: Printf() will troubleshoot my program…

    Posted 25 May 2015

    Happenstance. Accessing memory out of bounds invokes undefined behavior, so anything might happen. What seems to have happened in your case is that the call to system access memory on the heap and overwrites the out-of-bounds contents of out, so what should be "25\0" ends up "2garbage". The call to printf seems to somehow cause system to allocate its memory elsewhere.

    Perhaps printf allocates some memory itself, but does not write to it, causing the contents to stay unchanged, but causing system to get a different piece of memory. Or perhaps printf's memory needs to start at a later address for alignment or similar reasons and then system's memory also needs to start later because there's not enough consecutive memory left at the earlier place.

    Either way printf likely does something related to memory allocation, which causes system to get memory at a different address than it otherwise would causing it to not overwrite out. At least that's the most likely explanation I can think of. Either way it's all undefined behavior.

    PS: You might consider sprintf to generate your string. That seems simpler that your use of your own conversion function and strcat.
  2. In Topic: Printf() will troubleshoot my program…

    Posted 25 May 2015

    You're not allocating enough memory for the string. 15+strlen(cols)+strlen(lin) is enough to store cols, lin, 14 characters and the null byte. "mode CON:cols=" is 14 characters and " lines=" is another 7.
  3. In Topic: recursive merge sort

    Posted 20 May 2015

    Sure, just add a print statement after you set thisMid.
  4. In Topic: recursive merge sort

    Posted 20 May 2015

    View Postben255, on 20 May 2015 - 07:46 PM, said:

    done it and this is what i get.


    You mean that's what you get when you do it by hand/in your head, i.e. what you should get, right? I think Jon meant that you should look into what you actually get when you run your code (by printing the values of the variables). Because that's definitely not what you get in your actual code.

    As another hint: On which variable(s) does the value that you calculate for thisMid depend? So under which circumstances would the value change? Does that ever happen?

    Quote

    but i think is something about the variables. i remember reading something like, if a function changes a variable its a global change


    No, variables you set in functions are local unless you explicitly use one of the global or nonlocal keywords.
  5. In Topic: build a file .hs (haskell)

    Posted 19 May 2015

    View Postabir_fragrance, on 19 May 2015 - 12:29 PM, said:

    i create a file fct.hs and put it in bin ( C:\Program Files\Haskell Platform\2014.2.0.0\bin)


    You shouldn't put your source files in the Haskell installation directory. It shouldn't hurt anything, but it just doesn't make any sense (especially since I imagine you need admin rights to write in that directory). Usually you'd put your source code somewhere in your home folder.

    Quote

    to call the function should i just write the commande :l fct ?


    To call that function from ghci, you need to make sure that you're in the right directory (either by starting ghci from that directory or by using :cd inside ghci), then use :l fct and then actually call the function you want to call (by writing fact 5 for example, depending on what the name of the function is and with which argument you want to call it).

    Quote

    i found this commande to build the file : ghc --make name.hs ,but in unix, and if in windows name.exe ; i dont get it; should i write ghc --make name.exe or directly name.exe, what im i doing wrong?


    ghc --make name.hs should work fine (though obviously you should replace "name.hs" by "fct.hs" if that's the name of your Haskell file). If that does not work, what error message do you get?

My Information

Member Title:
D.I.C Lover
Age:
Age Unknown
Birthday:
Birthday Unknown
Gender:
Years Programming:
15
Programming Languages:
Haskell, Ruby, OCaml, SML, F#, Scala, Racket/Scheme, Vala, C#, C++, Java

Contact Information

E-mail:
Private
ICQ:
ICQ  205544826
Jabber:
Jabber  sexykane86@jabber.ccc.de