You are already half-way there. Your for loop does something for each iteration. Now, you want to do something inside that loop for each iteration. The answer is another for loop--a concept called "nested loops." The basic structure would be:
for(int i = 0; i < n; i++)
//code to execute before the nested loop, if any
//the nested loop
for(int j = 0; j < i; j++)
//code you want to execute in the nested loop
//code to execute after the nested loop, if any
Because the nested loop's condition will only execute while
j < i, you can use this structure to cause something to happen set number of time for each iteration of the outer loop that is also dependent on how far in the outer loops life (that is how far into its iterations it is). Nested loops are discussed early in the CS50 lectures and there are numerous YouTube videos and online tutorials/articles that go in depth on how they work. I also went over nested loops in an answer in this quesion to help someone else out, which might be of help.
Hopefully, this helps point you in the right direction. If it does, feel free to click the check mark next to my answer to accept it. But if not, let me know and I will try to help some more.