[Recurso] Postea tu programilla

Bueno dejando mi aporte. El otro día pedí ayuda para terminar este programa...
Es un código en C#, para la utilización de Sockets UNIX.
En sintesis son 2 Codigos, uno para el Cliente y otro Para el servidor.
El Cliente despliega un menu para elejir la cantidad de bytes a recivir.
El Servidor recibe la peticion y luego responde con la cantidad de bytes :).
Encontraran 2 Funciones, sendall() y recvall() que se encargan de enviar los datos que superen la MTU en fragmentos, y la otra recibirá los datos en fragmentos y los juntara.

Conste que era un tareita que tenia y se las dejo, por si alguien llegase a tener las dudas porque yo no encontre la solucion en internet D:, solo Google me ayudo a entender xD...

Código Cliente:
Código:
    /* 
    ** Cliente TCP 
    */ 

    // Librerias a usar
 
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <unistd.h> 
    #include <errno.h> 
    #include <string.h> 
    #include <netdb.h> 
    #include <sys/types.h> 
    #include <netinet/in.h> 
    #include <sys/socket.h> 
 
    #define PORT 4000 // Puerto al que se va a conectar, es una constante... Se puede cambiar (Deben ser = en Cliente y Server) 
 
    #define MAXDATASIZE 10241 // Máximo número de bytes que se pueden leer de una vez, se debe cambiar, para cambiar el tamaño 

    //Funciona que permite Recibir todos los datos 
    int recvall(int sockfd, char *buf, int *len)
    {
        int total = 0;        // cuántos bytes hemos recivido
        int bytesleft = *len; // cuántos se han quedado pendientes
        int n;            // es nuestro buffer de la funcion

        while(*len > total) // preguntamos si la longitud total del paquete es mayor a la tolta (inicializada en 0)
    {
            n = recv(sockfd, buf+total, bytesleft, 0);
            if (n == -1) { break; } // si no se reciben datos, se quiebra el while y envia error
            total += n; //aumentamos el total a la cantidad ya recibida
            bytesleft -= n; // a lo qe qeda por recibir le quitamos  la cantidad recibida 
        }
    return(total);

    }
 
    int main(int argc, char *argv[]) 
    { 
        int sockfd, numbytes; // SOCKFD es una variable SOCKET, NUMBYTES es el numero de bytes recibidos desde el server
  
        char buf[MAXDATASIZE]; // BUFF es una variable BUFFER que recibe el texto...
    char op[255];
    int len;
 
        struct hostent *he;
 
        struct sockaddr_in direc; // DIREC es un socket de la direccion internet de destino  
        printf("1. Enviar 1 byten");
        printf("2. Enviar 8 bytesn");
        printf("3. Enviar 16 bytesn");
        printf("4. Enviar 64 bytesn");
        printf("5. Enviar 128 bytesn");
        printf("6. Enviar 512 bytesn");
        printf("7. Enviar 1 Kbyten");
        printf("8. Enviar 2 Kbytesn");
        printf("9. Enviar 10 Kbytesn");
        printf("Ingrese la Opcion: ");
        scanf("%s",&op);
 
        if (argc != 2)
    { 
            fprintf (stderr, "USO: tcpc <ip_servidor>n"); //Falta la IP del server, sale e indica error 
            exit (1); 
        } 
 
        if ( (he=gethostbyname(argv[1])) == NULL) //gethostbyname obtiene información de la maquina (IP si se dio un nombre)
    { 
            perror ("gethostbyname"); // Si hay error, sale y despliega el error 
            exit (1); 
        } 
 
        if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
    { 
            perror ("socket"); // Si hay error (SOCKFD == -1), sale y despliega el error 
            exit (1); 
        } 
 
        direc.sin_family = AF_INET;    // Se indica que se usará la Familia de Direcciones de Internet  
        direc.sin_port = htons(PORT);  // convierte PORT desde el orden de bytes del host al de la red  
        direc.sin_addr = *((struct in_addr *)he->h_addr); 
        memset(&(direc.sin_zero), '', 8);  // Poner a cero el resto de la estructura = relleno 
 
        if ( connect(sockfd, (struct sockaddr *)&direc, sizeof(struct sockaddr)) == -1)
    { 
            perror ("connect"); // Se puede CONECTAR? Si hay error, sale y despliega el error 
            exit (1); 
        }

    if ( send(sockfd, op, 14, 0) == -1 ) 
            perror ("send"); // Envio la opcion ingresada
 
 
    
    int op2=atoi(op);
    switch(op2)
    {
        case 1:
            if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
            { 
                    perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                    exit (1); 
                  }
            break;
        case 2:
            if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
            { 
                    perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                    exit (1); 
                  }
            break;
        case 3:
            if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
            { 
                    perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                    exit (1); 
                  }
            break;
        case 4:
            if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
            { 
                    perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                    exit (1); 
                  }
            break;
        case 5:
            if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
            { 
                    perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                    exit (1); 
                  }
            break;
        case 6:
            if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
            { 
                    perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                    exit (1); 
                  }
            break;
        /* 
        En los Casos 7,8 y 9, debo recibir los paquetes por trozos,
        asi que para ésto utilizo la funcino recvall() definida anteriormente
        enviandole el socket, el puntero y la longitud de éste, para que 
        lo procese y reciba los datos
        */
        case 7:
            len=1024;
            if ( (numbytes=recvall(sockfd, buf, &len)) == -1)
            { 
                      perror ("recvall");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                        exit (1); 
                }
            break;
        case 8:
            len=2048;
            if ( (numbytes=recvall(sockfd, buf, &len)) == -1)
            { 
                      perror ("recvall");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                        exit (1); 
                }
            break;

        case 9:
            len=10240;
            if ( (numbytes=recvall(sockfd, buf, &len)) == -1)
            { 
                      perror ("recvall");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
                        exit (1); 
                }
            break;
        //Si la opcion elejida no era ninguna de las definidas, envia un mensaje de error (en el servidor)    
        default:
            printf("Error de Opcionn");
            break;                    
    } //llave de cierre del switch()
    
 
        buf[numbytes] = ''; // Se le coloca el Terminador de cadenas al final del "BUFfer" 
    printf("Se recibieron %d Bytesn",strlen(buf)); 
        printf("Recibido: %sn",buf); // Imprime en la pantalla del cliente lo que se recibio desde el server 
    printf("Se recibieron %d Bytesn",strlen(buf)); 
        close(sockfd); // Cierra el socket 
 
        return 0; // Retorna 0 como resultado del programa (funcion main()) 
    }

Código Servidor:
Código:
/* 
    ** Servidor TCP 
    */ 

    // Librerias a usar...
 
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <unistd.h> 
    #include <errno.h> 
    #include <string.h> 
    #include <sys/types.h> 
    #include <sys/socket.h> 
    #include <netinet/in.h> 
    #include <arpa/inet.h> 
    #include <sys/wait.h> 
    #include <signal.h> 
 
    #define MYPORT 4000    // Puerto al que conectarán los usuarios 
    #define BACKLOG 10     // Cuántas conexiones pendientes se mantienen en cola 

    //Funcion para elimiar procesos muertos ? 
    void sigchld_handler(int s) 
    { 
        while(wait(NULL) > 0); 
    }

    //Funciona que permite enviar datos que superen el tamaño de la MTU de TCP 
    int sendall(int new_fd, char *buf, int *len)
    {
        int total = 0;        // cuántos bytes hemos enviado
        int bytesleft = *len; // cuántos se han quedado pendientes
        int n;
    //pregunto si el total sigue siendo menor que la longitud del mensaje, entonces sigo recibiendo
        while(total < *len) {
            n = send(new_fd, buf+total, bytesleft, 0);
            if (n == -1) { break; }
            total += n;
            bytesleft -= n;
        }

        *len = total; // devuelve aquí la cantidad enviada en realidad

        return n==-1?-1:0; // devuelve -1 si hay fallo, 0 en otro caso
    } 
    //Funcion que ejecuta el menu (No lo muestra, ya que lo desplegamos en el cliente) 
    int menu(int new_fd) 
    {    
    char op[255],mensaje[10240];
    int c;
    //Recibo La opcion elejida en el cliente 
    if((recv(new_fd, op, 255, 0)) == -1)
    { 
               perror ("recv");  // Se RECIBEN datos? Si hay error, sale y despliega el error 
            exit (1); 
        }  
    /*
        Utilizo la funcion atoi() para transformar 
        el op (que se recibe como cadena en un numero,
        ya que el switch no admite caracteres para sus opciones
    */   
    int op2=atoi(op);
    int len;
    //Ahora envio la cantidad requerida segun la opcion
       switch(op2){
        case 1:
            for(c=0;c<1;c++)
                mensaje[c]='a';
            send(new_fd, mensaje, 1,0);
            break;
        case 2:

            for(c=0;c<8;c++)
                mensaje[c]='a';
            send(new_fd, mensaje, 8,0);

            break;
        case 3:
            for(c=0;c<16;c++)
                mensaje[c]='a';
            send(new_fd, mensaje, 16,0);
            break;
        case 4:
            for(c=0;c<64;c++)
                mensaje[c]='a';
            send(new_fd, mensaje, 64,0);
            break;
        case 5:
            for(c=0;c<128;c++)
                mensaje[c]='a';
            send(new_fd, mensaje, 128,0);
            break;
        case 6:
            for(c=0;c<512;c++)
                mensaje[c]='a';
            send(new_fd, mensaje, 512,0);
            break;
        /* 
        En los Casos 7,8 y 9, debo enviar los paquetes por trozos,
        asi que para ésto utilizo la funcino sendall() definida anteriormente
        enviandole el socket, el mensaje y la longitud de éste, para que 
        lo procese
        */
        case 7:
            for(c=0;c<1024;c++)
                mensaje[c]='a';
                 len = strlen(mensaje);
                    if (sendall(new_fd, mensaje, &len) == -1) 
                 {
                          perror("sendall");
                           printf("We only sent %d bytes because of the error!n", len);    
                 } 
            break;
        case 8:
            for(c=0;c<2048;c++)
                mensaje[c]='a';
                 len = strlen(mensaje);
                    if (sendall(new_fd, mensaje, &len) == -1) 
                 {
                          perror("sendall");
                           printf("We only sent %d bytes because of the error!n", len);    
                 } 
            break;
        case 9:
            for(c=0;c<10241;c++)
                mensaje[c]='a';
                 len = strlen(mensaje);
                    if (sendall(new_fd, mensaje, &len) == -1) 
                 {
                          perror("sendall");
                           printf("We only sent %d bytes because of the error!n", len);    
                 } 
            break;
        //Si la opcion elejida no era ninguna de las definidas, envia un mensaje de error (en el servidor)    
        default:
            printf("Error de Opcionn");
            break;
                
                    
        }
    printf("Eligio la opcion %sn",op);  //Imprimo la Opcion elejida por el usuario
    return(1); //Devuelvo 1 para saber que no hubieron errores
    } 
    int main(void) 
    {    
    //Envio un mensaje en patalla ( Solo Adorno )
    system("clear");
    system("echo ----------------------n");
    system("echo //// Servidor TCP ////n");
    system("echo ----------------------n"); 
        int sockfd, new_fd;  // Escuchar sobre sock_fd, nuevas conexiones sobre new_fd 
        struct sockaddr_in mi_dire;    // informacion sobre mi direccion (server) 
        struct sockaddr_in otras_dire; // informacion sobre la direccion de los clientes 
        int sin_size; 
        struct sigaction sa;
    struct timeval tiempo_i, tiempo_f; // Estructuras para calcular el tiempo 
        int yes=1; // SI=1 NO=0
    int op;
 
    //Creo el Socket con sus caracteristicas 
        if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1 )
    { 
            perror ("socket"); // Se puede abrir el SOCKET? Si hay error, sale y despliega el error 
            exit (1); 
        } 
    //Selecciono algunas opciones para el Socket 
        if ( setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int)) == -1) 
    { 
            perror ("setsockopt"); // Se pueden CAMBIAR opciones del socket? Si hay error, sale y despliega el error 
            exit (1); 
        } 
        
    //Indico las caracteristicas de la estructura 
        mi_dire.sin_family = AF_INET;         // Indica que se usara Familia de Direcciones de Internet 
        mi_dire.sin_port = htons(MYPORT);     // Ordenación de bytes de la red 
        mi_dire.sin_addr.s_addr = INADDR_ANY; // Se recibe cualquier IP 
        memset(&(mi_dire.sin_zero), '', 8); // Poner a cero el resto de la estructura = relleno
 
    //Obtengo el puerto a utilizar para establecer la comunicacion 
        if ( bind(sockfd, (struct sockaddr *)&mi_dire, sizeof(struct sockaddr)) == -1)
    { 
            perror ("bind"); // Puede OBTENER el puerto? Si hay error, sale y despliega el error 
            exit (1); 
        } 
    //Escucho esperando una peticion  
        if ( listen(sockfd, BACKLOG) == -1 )
    { 
            perror ("listen"); // ESCUCHA en el puerto? Si hay error, sale y despliega el error 
            exit (1); 
        } 
    // Elimina procesos muertos o zombies (Procesos Hijos) 
        sa.sa_handler = sigchld_handler; // Elimina procesos muertos o zombies (Procesos Hijos) 
        sigemptyset (&sa.sa_mask); 
        sa.sa_flags = SA_RESTART;
 
        if ( sigaction(SIGCHLD, &sa, NULL) == -1 )
    { 
            perror ("sigaction");  // Puedo CAMBIAR la accion de un proceso? Si hay error, sale y despliega el error 
            exit (1); 
        } 
 
        while(1)
    {  // Loop principal accept() = Ciclo "infinito" 
           sin_size = sizeof(struct sockaddr_in);
       //Acepto las conexiones en el socket indicado 
           if ( (new_fd = accept(sockfd, (struct sockaddr *)&otras_dire, &sin_size)) == -1)
       { 
                perror ("accept");  // Puede ACEPTAR nueva conexion? Si hay error, sale y despliega el error 
                continue; 
           } 
           printf("Servidor: Se toma coneccion desde %sn", inet_ntoa(otras_dire.sin_addr)); // Mensaje en el Server 
           if (!fork()) // No se crea proceso hijo?
       {  
                close(sockfd); // El hijo no necesita este descriptor, original 
        gettimeofday (&tiempo_i, 0); // Obtiene tiempo inicial 
                if(menu(new_fd) == -1 ) 
                    perror ("send"); // Puede ENVIAR? Si hay error, sale y despliega el error 
        close(new_fd); // Cierra el nuevo socket
        gettimeofday (&tiempo_f, 0); // Obtiene tiempo final
        printf("Se demoro %ld microsegnn", tiempo_f.tv_usec - tiempo_i.tv_usec); // Imprime tiempo en recibir o enviar
        exit(0);  
            } 
            close(new_fd);  // El proceso padre no necesita 
        }         return 0; // Retorna 0 como resultado del programa (main()) 
    }

Ojala les sirva (Y)::portalnet::

PD: Si lo compilas en windows no funcionará,ya que windows no incluye sockets (puedes integrarlos,pero aun asi no funcionará), debe ser compilado en un sistema UNIX.

PD2: La base del codigo fue propuesta por el profesor, los cambios efectuados fueron mios :)
 
muestra si dos numeros son amigos o no xD
son amigos =P
mi primer super programa xDDDDDDDD
#include<stdio.h>
main()
{
int n1,n2,sum1=0,sum2=0,i=1,p=1;
printf("ingrese numero 1:n");
scanf("%d",&n1);
printf("ingrese numero 2:n");
scanf("%d",&n2);
while(i<n1)
{
if(n1%i==0)
{
sum1=sum1+i;
}
i++;
}
while(p<n2)
{
if(n2%p==0)
{
sum2=sum2+p;
}
p++;
}

if(sum1==n2 && sum2==n1)
{
printf("son amigosn");
}
else
{
printf(" no son amigosn");
}
system("pause");
return 0;
}

jaja no entender lo de si son amigos o no xdd...pero es como lindo xD

a ver improvisare algo sencillo ya que no toy con mis programas y tengo paja xD

#include<stdio.h>

int n;

main ()
{
printf( " ingrese la edad de la persona");
scanf(%d, &n)
while ( n<=0 || n>=100)
{
printf("la edad que ha ingresado es menor igual 0 o mayor a 100, son valores no validos, por favor ingrese otra edad");
}
if ( n>= 18)
{
printf (" la edad ingresada corresponde a una persona mayor de edad");
}
else
{
printf ("la edad ingresada corresponde a una persona menor de edad ");
}

getchar(); getchar();

}


:P demas que caxan que hace daaaa xD!!:loca:

*.* Me enamoree !
 
aka un aporte.. calcula el numero mayor en un intervalo dado..
#include <cstdlib>
#include <iostream>
#include <stdio.h>

int main()
{
int i,num,mayor,f,k;
mayor=-10000;
printf("\n \n Mostrar n numeros entre 27 y 68 para encontrar el mayor de ellos.\n\nBy Fab0!\n");
system("pause");
system("cls");
printf("ingrese numero de terminos\n");
scanf("%i",&k);
for(i=1;i<=k;i++)
{
do{
printf("\n\n\nIngrese el numero %d de %i",i,k);

printf("\n el numero? : ");
scanf("%d",&f);
}while(f<27||f>68); /* aqui va el rango de numeros, en este caso, entre 27 y 68*/
if(f > mayor)
{
mayor = f;
}
system("cls");
}
printf("\n\n\n El numero mayor ingresado es %d \n\n\n",mayor);
system("pause");
}
 
ya cauros... este es el juego "pong" claramente una version mas xanta pero weno... es lo ke hay... si ta muy penca pta no se enojen tanto ya ke me esmere en hacerlo... lo hice con lo ke sabia hasta en ese entonces.. xDDD

agradescanlo por ultimo ¬¬ jejeje xdd


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

void marcador(int jug,int mar)//imprime el marcador
{
int mar1,mar2;
setcolor(YELLOW);
if(jug==1)
{
circle(mar,440,5);
delay(1000);
}
if(jug==2)
{
circle(mar,440,5);
delay(1000);
}
}

void salida()
{
int i=1,p=480;
outtextxy(50,230,"HECHO POR MI (^_^) ");


while(i<200)
{
setcolor(GREEN);
line(1,i,640,i);
delay(20);
i++;
setcolor(GREEN);
line(1,p,640,p);
p--;
}

delay(3000);
exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
setcolor(BLACK);
rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
setcolor(BLACK);
rectangle(635,a,637,b);
}

void main()
{
int gdriver = DETECT, gmode,n=220,m=260,k,a=220,b=260,r=3;
int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,jug,mar1=11,mar2=629;
initgraph (&gdriver,&gmode,"");

stdout;
randomize();
setcolor(LIGHTGREEN);
outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
setcolor(BLUE);
outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
setcolor(YELLOW);
outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
setcolor(RED);
outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");

salir=getch();
if(salir==27)
salida();



while(i<480)//linea ke borra el menu
{
setcolor(GREEN);
line(1,i,640,i);
delay(3);
setcolor(BLACK);
line(1,i,640,i);
i++;
}

setcolor(GREEN); //impresion de la cancha
line(1,30,640,30);
line(1,431,640,431);
setcolor(YELLOW);
line(1,31,640,31);
line(1,430,640,430);
setcolor(GREEN);
outtextxy(270,20,"..::PONG::..");
setcolor(LIGHTCYAN);
outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


while(c1!=13 && c2!=13)
{
setcolor(GREEN);
line(321,30,321,430);
line(319,30,319,430);


setcolor(BLUE);
rectangle(3,n,5,m);
setcolor(RED);
rectangle(635,a,637,b);

if(kbhit())
{
k=getch();

switch(k)
{
case 27:
salida();
break;

case 119:
if(n>=36)
{
goma(n,m);
n=n-6;
m=m-6;
}
break;

case 122:
if(m<=424)
{
goma(n,m);
n=n+6;
m=m+6;
}
break;

case 72:
if(a>=36)
{
del(a,b);
a=a-6;
b=b-6;
}
break;

case 80:
if(b<=424)
{
del(a,b);
a=a+6;
b=b+6;
}
break;

case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
setcolor(GREEN);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
getch();
setcolor(BLACK);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
break;

}//llave cierre del switch
}//llave cierre del if kbhit



if(tope==1&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l+mov;
}
if(tope==1&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l-mov;
}

if(tope==2&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l+mov;
}

if(tope==2&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l-mov;
}

if(r==630 && (l>a && l<b))
{
tope=2;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(r==8 && (l>n && l<m))
{
tope=1;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(l>=420)
signo=2;

if(l<=40)
signo=1;

if(r==630 && (l<a || l>b))
{
c1=c1+1;
r=320;
tope=1;
mar1=mar1+13;
marcador(tope,mar1);
}

if(r==8 && (l<n || l>m))
{
c2=c2+1;
r=320;
tope=2;
mar2=mar2-13;
marcador(tope,mar2);
}

}//llave cierre del while 1=1

main();

}//llave cierre del main
 
jaja no entender lo de si son amigos o no xdd...pero es como lindo xD



*.* Me enamoree !

xD!!!!!! :B en el scanf me falto las comillas xD

ya cauros... este es el juego "pong" claramente una version mas xanta pero weno... es lo ke hay... si ta muy penca pta no se enojen tanto ya ke me esmere en hacerlo... lo hice con lo ke sabia hasta en ese entonces.. xDDD

agradescanlo por ultimo ¬¬ jejeje xdd


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

void marcador(int jug,int mar)//imprime el marcador
{
int mar1,mar2;
setcolor(YELLOW);
if(jug==1)
{
circle(mar,440,5);
delay(1000);
}
if(jug==2)
{
circle(mar,440,5);
delay(1000);
}
}

void salida()
{
int i=1,p=480;
outtextxy(50,230,"HECHO POR MI (^_^) ");


while(i<200)
{
setcolor(GREEN);
line(1,i,640,i);
delay(20);
i++;
setcolor(GREEN);
line(1,p,640,p);
p--;
}

delay(3000);
exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
setcolor(BLACK);
rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
setcolor(BLACK);
rectangle(635,a,637,b);
}

void main()
{
int gdriver = DETECT, gmode,n=220,m=260,k,a=220,b=260,r=3;
int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,jug,mar1=11,mar2=629;
initgraph (&gdriver,&gmode,"");

stdout;
randomize();
setcolor(LIGHTGREEN);
outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
setcolor(BLUE);
outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
setcolor(YELLOW);
outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
setcolor(RED);
outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");

salir=getch();
if(salir==27)
salida();



while(i<480)//linea ke borra el menu
{
setcolor(GREEN);
line(1,i,640,i);
delay(3);
setcolor(BLACK);
line(1,i,640,i);
i++;
}

setcolor(GREEN); //impresion de la cancha
line(1,30,640,30);
line(1,431,640,431);
setcolor(YELLOW);
line(1,31,640,31);
line(1,430,640,430);
setcolor(GREEN);
outtextxy(270,20,"..::PONG::..");
setcolor(LIGHTCYAN);
outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


while(c1!=13 && c2!=13)
{
setcolor(GREEN);
line(321,30,321,430);
line(319,30,319,430);


setcolor(BLUE);
rectangle(3,n,5,m);
setcolor(RED);
rectangle(635,a,637,b);

if(kbhit())
{
k=getch();

switch(k)
{
case 27:
salida();
break;

case 119:
if(n>=36)
{
goma(n,m);
n=n-6;
m=m-6;
}
break;

case 122:
if(m<=424)
{
goma(n,m);
n=n+6;
m=m+6;
}
break;

case 72:
if(a>=36)
{
del(a,b);
a=a-6;
b=b-6;
}
break;

case 80:
if(b<=424)
{
del(a,b);
a=a+6;
b=b+6;
}
break;

case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
setcolor(GREEN);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
getch();
setcolor(BLACK);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
break;

}//llave cierre del switch
}//llave cierre del if kbhit



if(tope==1&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l+mov;
}
if(tope==1&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l-mov;
}

if(tope==2&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l+mov;
}

if(tope==2&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l-mov;
}

if(r==630 && (l>a && l<b))
{
tope=2;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(r==8 && (l>n && l<m))
{
tope=1;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(l>=420)
signo=2;

if(l<=40)
signo=1;

if(r==630 && (l<a || l>b))
{
c1=c1+1;
r=320;
tope=1;
mar1=mar1+13;
marcador(tope,mar1);
}

if(r==8 && (l<n || l>m))
{
c2=c2+1;
r=320;
tope=2;
mar2=mar2-13;
marcador(tope,mar2);
}

}//llave cierre del while 1=1

main();

}//llave cierre del main

xD compilare tu programa xD
 
xD!!!!!! :B en el scanf me falto las comillas xD



xD compilare tu programa xD
sii yo no lo decia por el codigo :$

Para compilar el programa del loco si usay TurboC tienes que activar laslibrerias graficas en las opciones, pero preguntame en qe parte era xD...la cosa es qe buska, y en una parte sale qe tienes qe activarlas :) ( por si no lo sabia alguien) ...me acuerdo qe yo hise quien qiere ser millonario xD en TurboC con las librerias graficas :) y le puse sonido y volas, nunca lo terminè ! xD...
 
aca un programa que sirve para contar billetes y/o monedas:

Código:
#include<stdio.h>

void llenar_contador(int c[]){
    int i;
    
    for(i=0;i<11;i++){
        c[i] = 0;
    }
}
void mostrar_billetes(int m[], int c[]){
     
     int i,suma=0;
     
     for(i=0;i<11;i++){
         if (c[i]>0){
             printf("nse necesitan %d monedas/billetes de %d pesos",c[i],m[i]);
             suma = suma + (c[i])*(m[i]);
             printf("nacumulado: %dn",suma);
         }
     }
     printf("ntotal: %dn",suma);
}
main(){
    int dinero,i;
    
    int monedas[] = {1,5,10,50,100,500,1000,2000,5000,10000,20000};
    int contador[11];
    
    printf("ingrese dinero: ");scanf("%d",&dinero);
    
    llenar_contador(contador);
    
    for(i=10;i>=0;i--){
        if(dinero>=monedas[i]){
            contador[i] = dinero/monedas[i];
        }
        dinero = dinero%(monedas[i]);
    }
    
    mostrar_billetes(monedas,contador);
    printf("n");
    system("pause");
}

indica si una frase o palabra es palindrome:

Código:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 50

void eliminarEspacios(char f[], char s[]){
    int i,j=0;
    for(i=0;i<strlen(f);i++){
        if(f[i]!=' '){
            s[j] = f[i];
            j++;
        }
    }
    s[j] = '';
}

int palindrome(char s[]){
    int i,m,j;
    
    m = strlen(s)/2;
    j = strlen(s)-1;
    
    for(i=0;i<m;i++){
        if(s[i]!=s[j]){
            return 0;
        }
        j--;
    return 1;
    }
}

main(){
       
   char frase[N], sinEspacios[N];
   int i;
   
   printf("escriba la palabra o frase: ");gets(frase);
   
   eliminarEspacios(frase,sinEspacios);
   
   if(palindrome(sinEspacios))
       printf("nes palindromen");
   else
       printf("nno es palindromen");
   
   printf("n");
   system("pause");
}

cantidad de primos en un rango (2 hacia...):

Código:
#include <stdio.h>

main() {

   int i,limite;
   int numero,flag=0 ,cont=0;

   printf("Calcula y cuenta primos en un rango [2,limite]n");
   printf("ingresar limite superior:");
   scanf("%d",&limite);
   for(numero=2; numero<=limite; numero++){
     for(flag=0,i=numero/2;i>1;i--){ // determino si numero es primo
         if(numero%i == 0)
             flag=1;
     }
     if(flag==0){
         printf("%d es primon",numero);
         cont++;
     }
   }  
     
   printf("total del primos entre 2 y %d es %dn",limite,cont); 
   system("pause");
}
 
sii yo no lo decia por el codigo :$

Para compilar el programa del loco si usay TurboC tienes que activar laslibrerias graficas en las opciones, pero preguntame en qe parte era xD...la cosa es qe buska, y en una parte sale qe tienes qe activarlas :) ( por si no lo sabia alguien) ...me acuerdo qe yo hise quien qiere ser millonario xD en TurboC con las librerias graficas :) y le puse sonido y volas, nunca lo terminè ! xD...


ni io me acuerdo cmo era la wa... hay ke copiar un archivo de la carpeta "BGI" a la "BIN" del directorio del compilador y activar otra unas was en el mismo turbo C pero no me acuerdo ke mas... :S ajhajahjah no se si en otro compilador correra...


denme algun puntito de credibilidad por el empeño por ultimo... no tengo niuno =0(
 
  • Like
Reacciones: _nyuu_
ni io me acuerdo cmo era la wa... hay ke copiar un archivo de la carpeta "BGI" a la "BIN" del directorio del compilador y activar otra unas was en el mismo turbo C pero no me acuerdo ke mas... :S ajhajahjah no se si en otro compilador correra...


denme algun puntito de credibilidad por el empeño por ultimo... no tengo niuno =0(

Compare, no te dare puntito por desempeño por que el codigo no funciona ^^, tira 3 errores, ademas de estar mal declarado el tema de las BGI.. PERO te lo arreglé 77 de pura buena persona que soy :).
Código:
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

void marcador(int jug,int mar)//imprime el marcador
{
    int mar1,mar2;
    setcolor(YELLOW);
    if(jug==1)
    {
        circle(mar,440,5);
        delay(1000);
    }
    if(jug==2)
    {
        circle(mar,440,5);
        delay(1000);
    }
}

void salida()
{
    int i=1,p=480;
    outtextxy(50,230,"HECHO POR MI (^_^) ");


    while(i<200)
    {
        setcolor(GREEN);
        line(1,i,640,i);
        delay(20);
        i++;
        setcolor(GREEN);
        line(1,p,640,p);
        p--;
    }

    delay(3000);
    exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
    setcolor(BLACK);
    rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
    setcolor(BLACK);
    rectangle(635,a,637,b);
}

void main()
{
    int gdriver = DETECT, gmode = DETECT,n=220,m=260,k,a=220,b=260,r=3;
    int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,j,ug,mar1=11,mar2=629;
    initgraph (&gdriver,&gmode,"C:\TC\BGI\");

    stdout;
    randomize();
    setcolor(LIGHTGREEN);
    outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
    outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
    outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
    setcolor(BLUE);
    outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
    setcolor(YELLOW);
    outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
    setcolor(RED);
    outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");
    
    salir=getch();
    if(salir==27)
    salida();

    while(i<480)//linea ke borra el menu
    {
        setcolor(GREEN);
        line(1,i,640,i);
        delay(3);
        setcolor(BLACK);
        line(1,i,640,i);
        i++;
    }

    setcolor(GREEN); //impresion de la cancha
    line(1,30,640,30);
    line(1,431,640,431);
    setcolor(YELLOW);
    line(1,31,640,31);
    line(1,430,640,430);
    setcolor(GREEN);
    outtextxy(270,20,"..::PONG::..");
    setcolor(LIGHTCYAN);
    outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


    while(c1!=13 && c2!=13)
    {
        setcolor(GREEN);
        line(321,30,321,430);
        line(319,30,319,430);


        setcolor(BLUE);
        rectangle(3,n,5,m);
        setcolor(RED);
        rectangle(635,a,637,b);

        if(kbhit())
        {
            k=getch();

            switch(k)
            {
                case 27:
                    salida();
                    break;

                case 119:
                    if(n>=36)
                    {
                        goma(n,m);
                        n=n-6;
                        m=m-6;
                    }
                    break;

                case 122:
                    if(m<=424)
                    {
                        goma(n,m);
                        n=n+6;
                        m=m+6;
                    }
                    break;

                case 72:
                    if(a>=36)
                    {
                        del(a,b);
                        a=a-6;
                        b=b-6;
                    }
                    break;

                case 80:
                    if(b<=424)
                    {
                        del(a,b);
                        a=a+6;
                        b=b+6;
                    }
                    break;

                case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
                    setcolor(GREEN);
                    outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
                    getch();
                    setcolor(BLACK);
                    outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
                    break;

            }//llave cierre del switch
        }//llave cierre del if kbhit



        if(tope==1&&signo==1)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r++;
            if(r%10==0)
                l=l+mov;
        }
        if(tope==1&&signo==2)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r++;
            if(r%10==0)
                l=l-mov;
        }

        if(tope==2&&signo==1)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r--;
            if(r%10==0)
                l=l+mov;
        }

        if(tope==2&&signo==2)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r--;
            if(r%10==0)
                l=l-mov;
        }

        if(r==630 && (l>a && l<b))
        {
            tope=2;
            mov=rand()%3+1;
            signo=rand()%2+1;
        }

        if(r==8 && (l>n && l<m))
        {
            tope=1;
            mov=rand()%3+1;
            signo=rand()%2+1;
        }

        if(l>=420)
            signo=2;

        if(l<=40)
            signo=1;

        if(r==630 && (l<a || l>b))
        {
            c1=c1+1;
            r=320;
            tope=1;
            mar1=mar1+13;
            marcador(tope,mar1);
        }

        if(r==8 && (l<n || l>m))
        {
            c2=c2+1;
            r=320;
            tope=2;
            mar2=mar2-13;
            marcador(tope,mar2);
        }

    }//llave cierre del while 1=1

    main();

}//llave cierre del main

Ademas de dejar orientado el codigo porqe asi todo plano no se entendia nada D: , oie y nunca supe como mover el player 1 ,xd deberia haberte hecho una funcion de ayuda por ultimo :P. y si alguien me quiere dar los puntos ami por arreglarlo se lo agradesco xD...

Mi SEgundo aporte referente a este tema :)
Hise un video de como instalar TC y ademas de como hacer correr las librerias graficas :P, sorry la calidad xd pero mi pc es un water y con suerte pude grabar xD...
El archivo contiene 2 videos, 1 de instalacion y otro de como poner las librerias graficas, y cuando compile el programa malo del socio potingano!.
Descomprimidos pesan como 40 Mb pero lo deje compirmido en 6 Mb D: .
Descargar Videos :)

Ya y les dejo el Turbo C por si no lo tienen iwal :) ( ando caritativo hoy ^^)

Descargar TC
 
  • Like
Reacciones: _nyuu_
Compare, no te dare puntito por desempeño por que el codigo no funciona ^^, tira 3 errores, ademas de estar mal declarado el tema de las BGI.. PERO te lo arreglé 77 de pura buena persona que soy :).
Código:
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

void marcador(int jug,int mar)//imprime el marcador
{
    int mar1,mar2;
    setcolor(YELLOW);
    if(jug==1)
    {
        circle(mar,440,5);
        delay(1000);
    }
    if(jug==2)
    {
        circle(mar,440,5);
        delay(1000);
    }
}

void salida()
{
    int i=1,p=480;
    outtextxy(50,230,"HECHO POR MI (^_^) ");


    while(i<200)
    {
        setcolor(GREEN);
        line(1,i,640,i);
        delay(20);
        i++;
        setcolor(GREEN);
        line(1,p,640,p);
        p--;
    }

    delay(3000);
    exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
    setcolor(BLACK);
    rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
    setcolor(BLACK);
    rectangle(635,a,637,b);
}

void main()
{
    int gdriver = DETECT, gmode = DETECT,n=220,m=260,k,a=220,b=260,r=3;
    int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,j,ug,mar1=11,mar2=629;
    initgraph (&gdriver,&gmode,"C:TCBGI");

    stdout;
    randomize();
    setcolor(LIGHTGREEN);
    outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
    outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
    outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
    setcolor(BLUE);
    outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
    setcolor(YELLOW);
    outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
    setcolor(RED);
    outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");
    
    salir=getch();
    if(salir==27)
    salida();

    while(i<480)//linea ke borra el menu
    {
        setcolor(GREEN);
        line(1,i,640,i);
        delay(3);
        setcolor(BLACK);
        line(1,i,640,i);
        i++;
    }

    setcolor(GREEN); //impresion de la cancha
    line(1,30,640,30);
    line(1,431,640,431);
    setcolor(YELLOW);
    line(1,31,640,31);
    line(1,430,640,430);
    setcolor(GREEN);
    outtextxy(270,20,"..::PONG::..");
    setcolor(LIGHTCYAN);
    outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


    while(c1!=13 && c2!=13)
    {
        setcolor(GREEN);
        line(321,30,321,430);
        line(319,30,319,430);


        setcolor(BLUE);
        rectangle(3,n,5,m);
        setcolor(RED);
        rectangle(635,a,637,b);

        if(kbhit())
        {
            k=getch();

            switch(k)
            {
                case 27:
                    salida();
                    break;

                case 119:
                    if(n>=36)
                    {
                        goma(n,m);
                        n=n-6;
                        m=m-6;
                    }
                    break;

                case 122:
                    if(m<=424)
                    {
                        goma(n,m);
                        n=n+6;
                        m=m+6;
                    }
                    break;

                case 72:
                    if(a>=36)
                    {
                        del(a,b);
                        a=a-6;
                        b=b-6;
                    }
                    break;

                case 80:
                    if(b<=424)
                    {
                        del(a,b);
                        a=a+6;
                        b=b+6;
                    }
                    break;

                case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
                    setcolor(GREEN);
                    outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
                    getch();
                    setcolor(BLACK);
                    outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
                    break;

            }//llave cierre del switch
        }//llave cierre del if kbhit



        if(tope==1&&signo==1)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r++;
            if(r%10==0)
                l=l+mov;
        }
        if(tope==1&&signo==2)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r++;
            if(r%10==0)
                l=l-mov;
        }

        if(tope==2&&signo==1)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r--;
            if(r%10==0)
                l=l+mov;
        }

        if(tope==2&&signo==2)
        {
            setcolor(YELLOW);
            circle(r,l,5);
            delay(4);
            setcolor(BLACK);
            circle(r,l,5);
            r--;
            if(r%10==0)
                l=l-mov;
        }

        if(r==630 && (l>a && l<b))
        {
            tope=2;
            mov=rand()%3+1;
            signo=rand()%2+1;
        }

        if(r==8 && (l>n && l<m))
        {
            tope=1;
            mov=rand()%3+1;
            signo=rand()%2+1;
        }

        if(l>=420)
            signo=2;

        if(l<=40)
            signo=1;

        if(r==630 && (l<a || l>b))
        {
            c1=c1+1;
            r=320;
            tope=1;
            mar1=mar1+13;
            marcador(tope,mar1);
        }

        if(r==8 && (l<n || l>m))
        {
            c2=c2+1;
            r=320;
            tope=2;
            mar2=mar2-13;
            marcador(tope,mar2);
        }

    }//llave cierre del while 1=1

    main();

}//llave cierre del main

Ademas de dejar orientado el codigo porqe asi todo plano no se entendia nada D: , oie y nunca supe como mover el player 1 ,xd deberia haberte hecho una funcion de ayuda por ultimo :P. y si alguien me quiere dar los puntos ami por arreglarlo se lo agradesco xD...

Mi SEgundo aporte referente a este tema :)
Hise un video de como instalar TC y ademas de como hacer correr las librerias graficas :P, sorry la calidad xd pero mi pc es un water y con suerte pude grabar xD...
El archivo contiene 2 videos, 1 de instalacion y otro de como poner las librerias graficas, y cuando compile el programa malo del socio potingano!.
Descomprimidos pesan como 40 Mb pero lo deje compirmido en 6 Mb D: .
Descargar Videos :)

Ya y les dejo el Turbo C por si no lo tienen iwal :) ( ando caritativo hoy ^^)

Descargar TC


xuuu.. errores??? no caxe men.. a mi me compilaba de lo mejor... lo revise incluso antes de subirlo.. pero weno,... cualkier ayuda es pa mejor... el player 1 se mueve con la "w" y la "z"... no caxo por ke no te funciono... y el codigo lo tenia ordenado wn.. la dura... seguramente el al "copy paste" keo alineado a la izqd...

weno.. se agradece tu ayuda men...

los vinos...

aa.. lo otro... recuerdas donde eran los errores ke tenia?? :S pa revisarlos :S
 
xuuu.. errores??? no caxe men.. a mi me compilaba de lo mejor... lo revise incluso antes de subirlo.. pero weno,... cualkier ayuda es pa mejor... el player 1 se mueve con la "w" y la "z"... no caxo por ke no te funciono... y el codigo lo tenia ordenado wn.. la dura... seguramente el al "copy paste" keo alineado a la izqd...

weno.. se agradece tu ayuda men...

los vinos...

aa.. lo otro... recuerdas donde eran los errores ke tenia?? :S pa revisarlos :S
salen en el video :), peroo era un error de variables, qe estaba mal declarada le faltaba una "," y el otro error era porqe no se iniciaban correctamente los graficos, ahi faltaba "gmode = DETECT" y la parte de los bgi (Nuevamente la faltan unas weas D: qiza el foro se las saca) debia qedar asi initgraph (&gdriver,&gmode,"C:\\TC\\BGI");
 
tururu
holi
vengo a postear un programilla sencillo

http://img198.*************/img198/5548/sumatoria1.jpg

#include <stdio.h>

int i,s, sf=0,p,a,n;

main()
{
do
{
printf( "\n Ingrese un valor para N : ");
scanf("%d", &n);
}
while (n<0);
for(i=1; i<=n; i++)
{
p=1,a=1, s=0;
while( a<=i)
{
p=p*i;
s=s+p;
a=a+1;
}
sf=sf+s;
}


printf("\n El Resultado de la sumatoria es: %d ", sf);


getchar(); getchar();
}


Bueno Aqui ordena un vector y muestra el elemento mayoritario
el vector es de dimension 10

#include <stdio.h>
int v[10],i,n,con=0,j,temp;
main()
{
for(i=0;i<10;i++)
{
printf("Ingrese numero del vector[%d]: ",i);
scanf("%d",&v);
}
for(i=0; i<10;i++)
{
for(j=0;j<10;j++)
{
if (v < v[j])
{
temp= v[j];
v[j]= v;
v=temp;
}
}
}
printf("\n");
printf (" el vector ordenado es : ");
for (i=0; i<10;i++)
{
printf(" %d", v);
}
printf( "\n" );
for(i=0;i<=(10/2);i++)
{
con=0;
for(j=0;j<10;j++)
{
if(v==v[j])
{
con=con+1;
}

}
}
printf ("\n");
if(con>(10/2))
{
printf("el numero mayoritario en el vector es %d\n",v);
}
else
printf("\n no existe elemento mayoritario!");
getchar();getchar();
}