// 09252009.cpp, P H Anderson, Sept 35, '08

#include <stdio.h>
#include <stdlib.h>

void next_row(int a[], int b[], int row_num);
void copy_row(int b[], int a[], int row_num);
void print_row(int d[], int row_num);

int main(void)
{
    int a[30], b[30];
    a[0] = 1;
    
    print_row(a, 0);
    
    for (int row = 1; row <=16; row++)
    {
       next_row(a, b, row);
       print_row(b, row);
       copy_row(a, b, row);      
    }
            
    system("pause");
}

void next_row(int a[], int b[], int row_num)
{ // stub
    b[0] = 1; b[row_num] = 1;      
}
void copy_row(int b[], int a[], int row_num)
{ // stub
    a[0] = b[0];
}

void print_row(int d[], int row)
{
    int n;
    for (n=0; n<=row; n++)
    {
        printf("%5d ", d[n]);
    }
    printf("\n");
}           
#ifdef OUTPUT
    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
    1    15   105   455  1365  3003  5005  6435  6435  5005  3003  1365   455  105  15  1
    1    16   120   560  1820  4368  8008 11440 12870 11440  8008  4368  1820  560  120 16  1
Press any key to continue . . .
#endif