# Pascal's Triangle source code

This snippet submitted by Ali Nawkhas Murad on 2012-01-31. It has been viewed 45786 times.
Rating of 6.3 with 532 votes

```//Procedural Programming technique shows creation of Pascal's Triangl
#include <iostream>
#include <iomanip>
using namespace std;
int** comb(int** a , int row , int col)
{
int mid = col/2;
//clear matrix
for( int i = 0 ; i < row ; i++)
for( int j = 0 ; j < col ; j++)
a[i][j] = 0;
a[0][mid] = 1; //put 1 in the middle of first row
//build up Pascal's Triangle matrix
for( int i = 1 ; i < row ; i++)
{
for( int j = 1 ; j < col - 1 ; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j+1];
}
return a;
}
void disp(int** ptr, int row, int col)
{
cout << endl << endl;
for ( int i = 0 ; i < row ; i++)
{
for ( int j = 0 ; j < col ; j++)
{
if( ptr[i][j] == 0)
cout << "   ";
else
cout << setw(4) << right << ptr[i][j];
}
cout << endl;
}
cout << endl << endl;
}
int main()
{
int **ptr, m, n;
cout << "\nEnter number of rows to draw Pascal's Triangle: ";
cin >> m;
n = 2 * m + 1; //column = 2 * row + 1

ptr = new int*[m];
for( int i = 0 ; i < m ; i++)
ptr[i] = new int[n];

ptr = comb(ptr, m, n);//calling function for array creation

disp(ptr, m, n);//calling function for array displaying.

return 0;
}
/*Programs output
******************
Enter number of rows to draw Pascal's Triangle: 9

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

Process returned 0 (0x0)   execution time : 2.996 s
Press any key to continue.
*/```

More C and C++ source code snippets