Boa noite pessoal,
Estou tentando fazer um programa onde é criado o triangulo de pascal dado o valor n, que seria o numero de linha que eu quero.
Pra quem não sabe o triangulo de pascal tem a seguinte configuração:
Linha 0 - 1
Linha 1 - 1 1
Linha 2 - 1 2 1
Linha 3 - 1 3 3 1
O meu codigo meio que funcionou, mas o ultimo valor sempre da 1 então minha matriz fica meio assim:
1 0 0 1
1 1 0 1
1 2 1 1
1 3 3 1
ao invés de:
1 0 0 0
1 1 0 0
1 2 1 0
1 3 3 1
O engraçado é que quando no laço FOR, quando eu coloco a condição i < n , o programa funciona como deveria, o problema é que dessa forma a se eu entrar com o valor de n = 1 ele me retorna o que seria a linha 0, se entrar com valor 2, me retorna o que seria a linha 1 e assim consecutivamente.
quando eu coloco i <=n eu tenho esse problema dos 1 na ultima parte da matriz.
Abaixo o meu código, agradeço desde já quem puder me ajudar.
#include <stdio.h>
#include <stdlib.h>
int main (){
int n;
printf("digite o valor de n: ");
scanf("%d", &n);
int vector[n][n];
int i, j;
for (i=0; i<=n; i++){
for (j=0; j<=n; j++){
if (j==i || j==0){
vector[i][j] = 1;
}
else if(i<j){
vector[i][j] = 0;
}
else{
vector[i][j] = vector[i-1][j-1]+vector[i-1][j];
}
}
}
for (i=0; i<=n; i++){
for (j=0; j<=n; j++)
{
printf("%d\t", vector[i][j]);
}
printf("\n");
}
}