C语言创建pascal三角图形
//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. */