A_1_615
A_1_615

Reputation: 1

Printing a "triangle" of asterisks

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

Answers (1)

asaelr
asaelr

Reputation: 5456

Well, if you have n lines, the first line should contain n-1 spaces and a *. The ith 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

Related Questions