I can't give you a "C or C++" answer as even though they seem alike they both have their own place in the programming world.

I can, however, suggest that copying solutions to problems is not going to teach you how to solve the problem... It's like kids these days who can't do math without a calculator. They know how to get the answer but don't know how the answer is reached. What you really need to do is work on understanding the problems, working out your own solutions, even if they are radically different than those in your book and coding them successfully in C (or C++, at your discretion). The overarching truism here is that no programmer --no matter how skilled or experienced-- can ever code the solution to a problem he doesn't understand.

Like you I've done the BASIC - Pascal - C progression. I initially thought I'd brought most of the necessary skills forward with me but rapidly discovered that about half of what I knew from previous languages wasn't very helpful here. I then resigned myself to learning C from scratch, was very careful not to compare it with previous experience and then it began making sense to me. It may look a lot like Pascal, but it don't work nothing like Pascal and it took a while to realize that.