viernes, 9 de septiembre de 2011

Generar el triangulo de Pascal en C

El siguiente código muestra como generar el triangulo de pascal, el truco para imprimirlo es usar " %3".


#include "stdio.h"

int main(int argc, char *argv[]){

   int pasc[11];
   int n=11;
   int x, i, j;

   x=0;

   //valida el numero de lineas
   for (i=1; i<=n ; i++)
   {
         //Construimos el triangulo de pascal
         for (j=x; j>=0; j--)
         {
             if(j==x || j==0)
             {
                  pasc[j] = 1;
             }
             else
             {
                  pasc[j] = pasc[j] + pasc[j-1];
             }
         }

        x++;
        printf("\n");
        //Truco para imprimir el triangulo
        for (j=1; j<=n-i; j++)
             printf("   ");

        for(j=0; j<x; j++)
        {
             printf("%3d   ", pasc[j]);
        }
   }
return 0;
}
El resultado:

11 comentarios:

  1. Muy buen programa y muy bien explicado gracias

    ResponderEliminar
  2. Me podrias ayudar con el mismo programa pero solo cambiandole printf por cout y cin

    ResponderEliminar
    Respuestas
    1. para c++ en dev c++
      #include

      using namespace std;

      int main(int argc, char *argv[]){

      int pasc[11];
      int n=11;
      int x, i, j;

      x=0;

      //valida el numero de lineas
      for (i=1; i<=n ; i++)
      {
      //Construimos el triangulo de pascal
      for (j=x; j>=0; j--)
      {
      if(j==x || j==0)
      {
      pasc[j] = 1;
      }
      else
      {
      pasc[j] = pasc[j] + pasc[j-1];
      }
      }

      x++;
      cout<<"\n"; //Truco para imprimir el triangulo
      for (j=1; j<=n-i; j++)
      cout<<" ";

      for(j=0; j<x; j++)
      {
      cout<<" "<<pasc[j];
      }
      }
      return 0;
      }

      Eliminar
  3. Excelente, quiero saber como debo de hacer si quiero tener 15 lineas?

    ResponderEliminar
  4. //valido el numero de lineas dice el programa >>
    n=15

    ResponderEliminar
  5. //valido el numero de lineas dice el programa >>
    n=15

    ResponderEliminar
  6. Si quiero imprimir todo el vector hasta una fila x... Es decir tengo mi triangulo de
    1
    1 1
    1 2 1

    De ese quiero imprimir todo eso en un vector [1,1,1,1,2,1] Y cuando imprimo solo me imprime la ultima fila es decir [1,2,1] en este caso.

    ResponderEliminar
  7. alguien me podría ayudar a hacer lo mismo pero en free pascal

    ResponderEliminar