C++ solution to problem 2.