• Domingo 19 de Mayo de 2024, 09:42

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - erik-p

Páginas: [1]
1
C/C++ / Pista Importante
« en: Miércoles 21 de Mayo de 2008, 07:11 »
hola a todos.tengo una inquietud con este codigo. al generar el menu quisiera que me centrara el triangulo.mas no se en realidad la respuesta. Se los envio para su consulta publica espero despierte el interes del grupo. compila en ms dos..saludos


#include<stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include<math.h>


 void pascalbi(int n);
 void escribetria(int n);
 int n, x;
 int i, j;
 int matrix[11][11];
 int activo;
 int pausa=20;

int main()
   {
    //Estructura para la fecha del sistemas dd/mm/aa
   struct dosdate_t d;
   //Estructura para la hora del sistema hh:mm:ss
   struct dostime_t t;
   void marco(void);
   int i,j=0,x=0,op=0;
   int matrix[11][11];
   int activo;
  //funcion para la fecha
   _dos_getdate(&d);
   //funcion para la hora
   _dos_gettime(&t);
   do{
   clrscr();
    marco();
    gotoxy(54,4);printf("Fecha: %d/%d/%d",d.day,d.month,d.year);
   gotoxy(54,5);printf(" Hora: %2d:%02d:%02d.%02d\n", t.hour, t.minute,t.second, t.hsecond);



     gotoxy(30,7);printf("MENU DE OPCIONES");
     gotoxy(34,14);printf("1.TRIANGULO DE PASCAL");
     gotoxy(34,18);printf("2.SALIR");
     gotoxy(28,20);printf(" INGRESE OPCION:__");
     scanf("%d",&op);
     switch (op){
       case 1:
            clrscr();
               // marco();
            gotoxy(29,2);
            printf(" Triangulo de Pascal: ");
            scanf("%d", &n);
            if ((n > 0) && (n<=10))
               {
                pascalbi (n);
                escribetria (n);
                getch();
               }
            break;

       case 2:
             break;
             default:
             {
             gotoxy(31,22);printf("<<ESTA OPCION NO ESTA PROGRAMADA>>");
             getch();
             gotoxy(31,22);printf("                                   ");
             getch();

             }
             }
             }
             while(op!=2);
             gotoxy(30,24);printf("<<SALIENDO>>");
            // gotoxy(51,17);
             getch();

             return;
             }



void pascalbi(int n)
{

   for(i=0; i<=10; i++)
      for(j=0; j<=10; j++)
         matrix[j]=0;

   for(i=0; i<n; i++)
      for(j=0; j<=i; j++)
         if(j==0)
         matrix[j]=1;
         else
            matrix[j]=matrix[i-1][j-1]+matrix[i-1][j];

}

void escribetria(int n)
{

            printf("\n\n");
            activo=1;
            for(i=0; i<n; i++)
             {
             for(j=0; j<=i; j++)
               {
               if(activo==1)
          for(x=0; x<n-i+1; x++)
            printf("  ");
               activo=0;

               printf("  %d  ", matrix[j]);

      }
               activo=1;
            printf("\n\n");

     }
  }
void marco(void)
{
  int i,j=0,x=0;
   gotoxy(1,1);cprintf("Å");
   for (i=2; i<=78; i++)
   {
       gotoxy(i,1);textcolor(4);cprintf("Ä");
       delay(pausa);       //sleep(1);
    }
    //linea derecha vertical
    gotoxy(79,1);cprintf("Å");


    for (i=2; i<=30; i++)
   {
       gotoxy(79,i);cprintf("³");
   gotoxy(--j,30);
   delay(pausa);
   }

 //linea horizontal inferior
      gotoxy(79,30);cprintf("Å");
   j=79;

   for (i=1; i<=77; i++)
   {
     gotoxy(--j,30);
     cprintf("Ä");
     delay(pausa);
   }
    //linea izquierda vertical
     gotoxy(1,30);cprintf("Å");

    x=30;

       for (i=2; i<=29; i++)
   {
     //  gotoxy(1,--x);cprintf(" ³");
   gotoxy(78,i);
   gotoxy(1,--x);cprintf("³");
   delay(pausa);
   }
}

Páginas: [1]