#include <stdio.h>
#include <stdlib.h>
int altura(void){
int n;
printf(" Numero de escalones del triangulo: ");
scanf("%d", &n);
return n;
}
int **allocaMat(int n){
int i;
int **matrix;
matrix = (int **) malloc(n*sizeof(int*));
for(i=0; i<n; i++)
matrix[i] = (int *)malloc((i+1)*sizeof(int));
return matrix;
}
void creaTrianguloEnMatriz(int **matrix,int n){
int i,j;
for(i=0; i<n; i++)
for(j=0; j<=i; j++)
matrix[i][j]=0;
for(i=0; i<n; i++)
for(j=0; j<=i; j++)
if(j==0 || j==i)
matrix[i][j]=1;
else
matrix[i][j]=matrix[i-1][j-1]+matrix[i-1][j];
}
void imprimeMat(int **matrix, int n){
int i, j, activo, x;
for(i=0; i<n; i++){
for(j=0; j<=i; j++){
if(activo)
for(x=0; x<n-i+1; x++)
printf(" ");
activo=0;
printf(" %d ", matrix[i][j]);
}
activo=1;
printf("n");
}
}
int main(){
int **matrix, n;
n = altura();
matrix = allocaMat(n);
printf("nEl numero de iteraciones es: %dn", n);
creaTrianguloEnMatriz(matrix,n);
printf("n");
imprimeMat(matrix,n);
return(0);
}