• Miércoles 24 de Abril de 2024, 08:55

Autor Tema:  Pista Importante  (Leído 1277 veces)

erik-p

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Pista Importante
« en: Miércoles 21 de Mayo de 2008, 07:11 »
0
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);
   }
}

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Pista Importante
« Respuesta #1 en: Viernes 30 de Mayo de 2008, 23:08 »
0
ummm, creo que esto deberia estar en el foro de c++.

movido......

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"