#include #include int *pascallarr(int iarrsize, int *ptr){ int *mypascallar = malloc(sizeof(int) * iarrsize + 1); /* declare edges, as they're always 1 anyways so we can start the loop at 1 (so i-1 = 0) */ mypascallar[0] = 1; mypascallar[iarrsize] = 1; for (int i = 1; i <= iarrsize; i++) { if (i < iarrsize) { mypascallar[i] = ptr[i-1] + ptr[i]; } } return mypascallar; } int main() { int trianglesize = 18; int ** pnumbers; /* create pascals triangle, on row i, we have i numbers */ /* should create 2d array of ints, with an array of pointers to arrays*/ int **ptrtriangle = malloc(sizeof(int *)*trianglesize); /* need to create a function that returns the pointer to an array of i numbers filled with numbers */ for (int i = 0; i < trianglesize; i++) { ptrtriangle[i] = pascallarr(i,ptrtriangle[i-1]); for (int j = 0; j <= i; j++) { printf("%d|",ptrtriangle[i][j]); } printf("\n"); } return 0; }