c++ primer exercises