Home > Back-end >  Printing Pascal Triangle in C
Printing Pascal Triangle in C

Time:03-14

I've looked at some questions asked here regarding Pascal Triangle, yet I still can't seem to visualize how the algorithm would work.

[1]
[1 1]
[1 2 1]
[1 3 3 1] (3 comes from 1   2 on the previous row)
[1 4 6 4 1] (4 comes from 1   3, while 6 comes 3   3 on the previous row)
etc.

I have difficulties in imagining how adding the numbers visually in the triangle (just like how they told you to do it in school) can be implemented through loops. I would really appreciate a detailed answer in helping to bridge this.

CodePudding user response:

do a 2-D array.

put 1 int he first cell, leave that row filled with garbabe

[1|g|g|g|...         // 1st row (arr[0][0] = 1;)

for the second row (and third, ...) start with 1 at the left, then add the value from the row above

[1|g|g|g|...        // 1st row
[1|g|g|g|...        // 2nd row (arr[1][0] = 1;)
                    //         (arr[1][1] = arr[1][0]   arr[0][0])

etc...

CodePudding user response:

each cell has the value

cell[r][c] = cell[r-1][c-1]   cell[r-1]c]

for c>0 . and

cell[r][0] = 1

just increase the range of c by one for each row, starting with 0 for first row, 1 for second ...

  • Related