CS1411 - Introduction to Programming Principles I

Programming / Lab Assignment 5

Pascal's triangle

The philosopher and mathematician Blaise Pascal (1623-1662) is famous among modern computer scientists for Pascals Triangle, and the programming language Pascal was named in his honor. Pascal's Triangle is an arithmetical triangle representing the integer coefficients of the expansion of the binomial equation (x+y)^n.

Write a program that will output Pascal's triangle nicely formatted for up to 15 rows.

Pascal's triangle is a mathematical triangle, where every value is the sum of the values left and right of this value in the line above. It starts with 1 at the top and assumes 0 for out-of-bounds values. An example is:

                                 1
                               1    1
                             1    2    1
                           1    3    3    1
                         1    4    6    4    1
                       1    5   10   10    5    1
                     1    6   15   20   15    6    1
                   1    7   21   35   35   21    7    1
                 1    8   28   56   70   56   28    8    1
               1    9   36   84  126  126   84   36    9    1
             1   10   45  120  210  252  210  120   45   10    1
           1   11   55  165  330  462  462  330  165   55   11    1
         1   12   66  220  495  792  924  792  495  220   66   12    1
       1   13   78  286  715 1287 1716 1716 1287  715  286   78   13    1
     1   14   91  364 1001 2002 3003 3432 3003 2002 1001  364   91   14    1

Your program should ask how many rows to display, and then display pascals triangle accrodingly. It should work with at least 15 rows. It should format the output nicely, as in the example (I've used cout.width(5)). Your program should use an array to store the values of the triangle (It can be done with a 1 dimensional array, but a 2-dimensional array is easier).

Additional information can be found in Wikikepias entry on Pascal's triangle.

Your programs should include comments whith you name, testnumber, etc. in the top. See also the Submission guidelines

The assignment is due Friday Oct 8, 6pm. You have to submit it electronically as stated in the submission guidelines!

Lost? See the Help! page.