This is a good C++ question.  The solution is simple, but it requires a decent understanding of loops, memory allocation, error checking, console output, and integer data types.  Don't feel bad - if this is really your first exposure to programming it's crazy that someone expects you to answer this question.
The hint gives you everything you need.  I'll break it down into steps, and you tell us which part is giving you trouble.
- Use a loop
- allocate, say, 1000000 bytes
- add 1 to an unsigned long long counter
- figure out when the allocation failswithout crashing
- print the counter times 1000000.0
Isn't the size of free store depend on the computer's ram?
Yes.  It also depends on the other programs currently running on the machine.
How could I possibly calculate the size of that large memory in bytes?
The computer's must know the size of its own memory to operate correctly.  Somewhere, the information exists or can be calculated.
what is an unsigned long long?
In C++11, it's guaranteed to be at least 64 bits.  Before C++11, it's an unsigned integer data type that's at least as big as an unsigned long.