1
« 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);
}
}