updated c++ solution to problem #4