Ju *-* 0 Denunciar post Postado Julho 7, 2009 Alguém pode me ajudar? Tenho uma questão pra entregar, a lógica dá até pra entender, o problema é jogar no compilador ^^ -> Desenvolva um programa que imprima na saída 1 triângulo de Pascal de ordem n(n lido). O programa deve usar apenas um vetor e apenas um comando de repetição for; 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 http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Julho 7, 2009 qro ver código Compartilhar este post Link para o post Compartilhar em outros sites
Mnemønic 0 Denunciar post Postado Julho 7, 2009 Alguem ja fez o seu dever de casa: http://matcom.codigolivre.org.br/artigos/t...as/triapas.html Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Julho 7, 2009 Mnemonic, não entregue respotas de mão beijada. Não é costume do pessoal daqui fazer isso. @on topic: você sabe a definição de uma linha do triangulo de pascal? linha n = C(0, n) ... C(n, n). onde C(x, y) é o mesmo que "X combinações de Y" Compartilhar este post Link para o post Compartilhar em outros sites
Mnemønic 0 Denunciar post Postado Julho 7, 2009 Mnemonic, não entregue respotas de mão beijada. Não é costume do pessoal daqui fazer isso. Eu entendo, e concordo totalmente com essa postura. Mas no site que mandei tem toda explicação teórica por trás do algoritmo. Tenho fé que o op vai precisar no mínimo ler a página antes de encontrar a resposta. Compartilhar este post Link para o post Compartilhar em outros sites
tuu 0 Denunciar post Postado Julho 13, 2009 nao é só usar o fato de que cada linha é x11? 1:1 2:1x11=11 2:11x11=121 3:11x121=1331 4:11x1331=14641 ... só usar um for pra percorrer os vetores preenchendo os valores e imprimindo.... Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Julho 13, 2009 tuu Muito legal essa, eu não conhecia! Mas tem um problema... enquanto os números da n-ésima linha do triangulo conterem apenas um algarismo, sabemos dividir... linha 5 = 15101051 linha 6 = 1615201561 Não sabemos dividir os números Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 14, 2009 Pra quê você acha que vai servir o vetor? --------------------------------------- 0: 1 1: 1 1 2: 1 2 1 3: 1 3 3 1 4: 1 4 6 4 1 5: 1 5 10 10 5 1 6: 1 6 15 20 15 6 1 7: 1 7 21 35 35 21 7 1 8: 1 8 28 56 70 56 28 8 1 9: 1 9 36 84 126 126 84 36 9 1 Isso daí não tem cara de ser potência de 11. 11^4=1 4 6 4 1, mas 11^5 = 1 6 10 5 1. Bem diferente dos valores reais. Feito sem vetor: #include <stdio.h> int main() { int colunas,j; int anterior; int linha; do { scanf("%d",&linha); } while (linha < 0); colunas = linha+1; anterior = 1; printf("%d ",anterior); for(j=1;j<colunas;j++) { anterior = anterior*(linha-j+1)/j; printf("%d ", anterior); } puts(""); } Compartilhar este post Link para o post Compartilhar em outros sites
tuu 0 Denunciar post Postado Julho 14, 2009 tuu Muito legal essa, eu não conhecia! Mas tem um problema... enquanto os números da n-ésima linha do triangulo conterem apenas um algarismo, sabemos dividir... linha 5 = 15101051 linha 6 = 1615201561 Não sabemos dividir os números =P você tem razao...eu dei sorte e parei antes hehe... mas eu lembrava que tinha alguma coisa haver...e tbm algo com binomios de newton XDD....apesar de nao lembrar o q.... Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Julho 14, 2009 binomios de newtonTem tudo a ver com o binómio de Newton, pela formula: (a + B) ^n = C(0, n) * (a ^ n) * (b ^ 0) + C(1, n) * (a ^ (n-1)) * (b ^ 1) ... .... ... C(n, n) * (a ^ 0) * (b ^ n) E a n-ésima linha do triangulo de pascal pode ser obtida: C(0, n) C(1, n) ........ C(n ,n) Encontrou alguma semelhança?? Vamos pegar por exemplo, o binómio (4+x)^4, e desenvolver, obteremos: 1*4^4 + 4*(4^3)*x + 6*(4^2)* (x^2) + 4*4*x^3 + 1*x^4 256 + 254x + 96(x^2) + 16(x^3) + x^4 E note que a linha 4 do triangulo é: "1 4 6 4 1" Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 14, 2009 Eu falei pro vitor que era enfiar uns ifs dentro do for, mas acho que não vão sacar como.... #include <stdio.h> int main() { int colunas,j; int anterior; int linhas; do { scanf("%d",&linhas); } while (linhas < 0); anterior = 1; printf("%d\n",anterior); if (linhas) { int linha_atual = 1; colunas = 2; linha_atual = 1; for(j=1;j<colunas && linha_atual <= linhas;) { if(j==1) printf("1 "); anterior = anterior*(linha_atual-j+1)/j; printf("%d ", anterior); j++; if (j == colunas) { anterior = 1; linha_atual++; colunas = linha_atual+1; j=1; puts(""); } } } } Compartilhar este post Link para o post Compartilhar em outros sites