Now it's time to practice what you've learned about dynamic memory management. The problems below test your understanding of pointers, new/delete, arrays, and memory safety. Start with the simpler problems that focus on basic allocation and deallocation.
Then move to problems that combine multiple concepts like dynamic arrays with pointer arithmetic. Pay attention to memory leaks. Every "new" needs a matching "delete". Use valgrind or similar tools to verify your solutions don't leak memory.
Clean code means clean memory.