updated c++ solution to problem #5