Reputation: 1
The program I am supposed to write is supposed to print the triangle in the following manner:
If the number of rows is 2:
*
***
If the number of rows is 3:
*
* *
*****
However, the following code that I did prints the correct amount of stars for the last line, but I am not so sure how I would print the space and the newline. My code for printing the bottom level stars is the following:
void tri_func(num)
{
int row; int c=1;
int j;
for ( row = 1 ; row <= num ; row++ )
{
for (j=1; j < row-2; j++) printf(" ");
for ( c = 1 ; c <= (2*row )- 1-j ; c++ )
{
printf("*");
}
printf("\n");
}
}
Upvotes: 0
Views: 4518
Reputation: 5456
Well, if you have n
lines, the first line should contain n-1
spaces and a *
. The i
th line (1< i < n) should contain n-i
spaces, a *
, 2i-3
spaces and another *
, and the last line should contain 2n-1
*
s. You can easily do it using loops. To print a space, use printf(" ");
, and remember to print a \n
in the end of every line.
Upvotes: 1