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:

12 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
  8. Primero que nada, gracias, tu código me sirvió para ayudarme en el proyecto del parcial

    segundo, alguien tendrá el wallpaper de la imagen?

    ResponderEliminar