Ir ao conteúdo

Posts recomendados

Postado

Gostaria de saber como modificar o programa abaixo para gerar um triângulo de pascal da seguinte forma:

 

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

 

#include <stdio.h>
#include <stdlib.h>
int main (void)
{
unsigned long long int i,j, ntemp;
double fat1 ,fat2 , fat3;
int n;
printf (" Entre com o valor de n: ");
scanf ("%d" ,&n);
if(n <=0)
{
printf ("\ nValor Digitado Erradamente!\n\n");
return 1;
}
system ("cls ");
printf ("\n\n\ nTriangulo de Pascal \n");
printf (" - - - - - - - - - - - - - - - - - - - - -\n");
for (i=0;i <=( unsigned )n;i++)
{
for (j=0;j <=i;j++)
{
fat1=fat2=fat3=1;
ntemp =i;
while (ntemp >0)
{ fat1 *= ntemp;
ntemp --;
}
ntemp =j;
while (ntemp >0)
{
fat2 *= ntemp;
ntemp --;
}
ntemp =i-j;
while (ntemp >0)
{
fat3 *= ntemp;
ntemp --;
}
printf ("\t%.0 f",fat1 /( fat2 * fat3 ));
}
printf ("\n");
}
return 0;
}
 

<<

<>

 

  • Curtir 1
Postado

@Adrielle MM    para postar seu código é melhor usar o botão  <>  que está desenhado lá na barra de ferramentas da janela de postar ,   para manter seu código inalterado ,  e do jeito que o código está ele já está gerando o triangulo de pascal ,  mas se o que você quer é imprimir no formato de um triangulo , você pode usar uma função para posicionar o cursor em determinada posição da  tela e essa função é  , ( gotoxy() ) ,  que pode ser criada ,   então seu código pode ser assim  :

#include <stdio.h>
#include <conio.h>
#include <conio2.h>
#include <windows.h>
void gotoxy(int x, int y){
    COORD c;
    c.X = x;
    c.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
int main(){
    int i,j,ntemp;
    int fat1,fat2,fat3;
    int n,c,l=6,cont,k;
    printf("entre com o valor de n ");
    scanf("%d",&n);
    int mat[n+2][n*3+2];
    if(n<=0){
        printf("\nvalor digitado Erradamente\n\n");
        return 1;
    }
    system("cls");
    printf("\n\nTriangulo de Pascal\n");
    for(c=0;c<35;c++)printf (" -");
    printf("\n");
    for(i=0;i<n+2;i++)
        for(j=0;j<n*3+2;j++)
            mat[i][j]=0;
    for(i=0;i<=n;i++){
        for(j=0;j<=i;j++){
            fat1=fat2=fat3=1;
            ntemp=i;
            while(ntemp>0){
                fat1*=ntemp;
                ntemp--;
            }
            ntemp=j;
            while(ntemp>0){
                fat2*=ntemp;
                ntemp--;
            }
            ntemp=i-j;
            while(ntemp>0){
                fat3*=ntemp;
                ntemp--;
            }
            mat[i][j]=fat1/(fat2*fat3);
        }
    }
    for(i=0; i<=n; i++){
        cont=0;
        for(j=0; j<=n*3; j++){
            if(mat[i][j] != 0)cont++;
            if(mat[i][j] < 10)cont++;
            else if(mat[i][j]> 9 && mat[i][j]< 100)cont+=2;
            else if(mat[i][j]>99 && mat[i][j]<1000)cont+=3;
        }
        c=n*3;
        c-=cont/2;
        gotoxy(c,l);
        for(j=0; j<n*3; j++){
            if(mat[i][j]!=0 )printf("%d ",mat[i][j]);
        }
        l++;
    }
    printf("\n");
    getch();
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!