Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Manimecker

#1
Programación C/C++ / Re: Serie Fibonacci C++
16 Enero 2012, 22:34 PM
Muchas gracias a Xandrete y a rir3760, me dieron una idea con sus códigos de cómo debía ser el código e implemente el siguiente, el cual es muy parecido al de rir3760:

Código (cpp) [Seleccionar]
#include <stdio.h>

int main()
{
    int num, fb, n=1, p=1, i;
    scanf("%d", &num);
    while (num<2 || num>30000)
        scanf("%d", &num);
    for (i=1; i<num; i++) {
        if (i != p)
            printf("%d ", i);
        else {
            fb=n+p;
            n=p;
            p=fb; } }
    return 0;
}


Muchas gracias, Xandrete, esta tarde estudiaré tu código ya que me pareció un tanto confuso (sobretodo el primero, por algunas cosas que aún no aprendo).

Muchas gracias a ambos!

Salu2 y suerte.

EDIT---

He mandado mi código a evaluación, y me reporta que en el caso 1 existe un 'Error de ejecución o tiempo de espera agotado' y en los 4 casos restantes la respuesta es correcta.

¿Cuál será el problema?

PD: No tengo los casos que prueban al programa.
#2
Básicamente sería un ciclo que recorra todas las letras de esa palabra e ir contando las consonantes y/o vocales.


Palabra = Cadena de caracteres
i = Entero
Vocales = Entero
Consonante = Entero

Vocales = 0
Consonantes = 0

Leer (Palabra)
Para i=0 Hasta 10 Aumentar 1
{
      Si (Palabra[i] es igual a 'A' o 'E' o 'I' o 'O' o 'U')
             Incrementar Vocales en 1
      Si no
             Incrementar Consonantes en 1
}


Es decir, si la posición en la variable 'Palabra' no es igual a una vocal, sería una consonante, en su caso (obviando todos los errores que se podrían generar).
Espero que mi pseudocódigo te sirva de algo, y si no, mejor espera a un experto en el tema.
#3
Programación C/C++ / Serie Fibonacci C++
16 Enero 2012, 08:05 AM
Buenas noches, un saludo muy grande a toda la comunidad de elhacker.net y vengo de nuevo yo con un problema relacionado a la programación.

Tengo el siguiente problema:
CitarProblema
Escribe un programa que imprima en pantalla todos los números enteros positivos estrictamente menores que N que NO pertenezcan a la serie de Fibonacci.

Entrada
Tu programa deberá de leer del un solo número entero 2<=N<=30000 (30 mil)

Salida
Tu programa deberá imprimir en pantalla todos los números enteros positivos menores que N que no formen parte de la serie de Fibonacci, deberá imprimirlos en orden creciente, separados por espacios.

Ejemplo

Entrada
9
Salida
4 6 7

Básicamente, es un programa que imprima los números menores de N que no pertenezcan a la serie Fibonacci.

Hice el siguiente código:
Código (cpp) [Seleccionar]
#include <stdio.h>

int main()
{
    int num, fb=0, n=0, p=1, i=1;
    scanf("%d", &num);
    while (fb < num) {
        fb=n+p;
        n=p;
        p=fb;
        if (i != p)
            printf("%d ", i);
        i++; }
}


Input:
Citar9

Output
Citar4 5 6


Pero simplemente no entiendo por qué no funciona, sé que es un problema de lógica mío, pero no lo veo.

Gracias de antemano y disculpen la molestia.

Debe ser tan fácil, pero no he podido averiguarlo.
#4
He decidido publicar mi código del 3 en raya para 2 jugadores humanos.

Se juega utilizando el numpad dependiendo del número es la casilla a jugar.



Código (cpp) [Seleccionar]
///EL GATO EN C++ CON VECTORES
///MANIMECKER
///JORGEJUVA@GMAIL.COM
///ERES LIBRE DE MODIFICAR ESTE CODIGO A TU CONVENIENCIA
///YOU ARE FREE TO MODIFY THIS CODE AS YOU WANT

#include <stdio.h>
#include <conio2.h> //Tuve que usar esta libreria con CodeBlocks

int op=0, gana=0, emp=1, pla1=0, pla2=0, pjug=1, repe1;
char n2[2];
char n[9];          ///     TABLERO
                    /// ================
                    /// |n[0]|n[1]|n[2]|
                    /// ================
                    /// |n[3]|n[4]|n[5]|
                    /// ================
                    /// |n[6]|n[7]|n[8]|
                    /// ================

void tablero()
{
    gotoxy(25,1); printf(" ***EL GATO***");
    gotoxy(15,2); printf("UTILIZA EL TELCADO NUMERICO PARA JUGAR");
    gotoxy(15,5); printf("===== \n");
    gotoxy(15,6); printf("%c|%c|%c \n",n[6], n[7], n[8]);
    gotoxy(15,7); printf("===== \n");
    gotoxy(15,8); printf("%c|%c|%c \n",n[3], n[4], n[5]);
    gotoxy(15,9); printf("===== \n");
    gotoxy(15,10); printf("%c|%c|%c \n",n[0], n[1], n[2]);
    gotoxy(15,11); printf("===== \n");
    gotoxy(30,5); printf("        GANADAS  ");
    gotoxy(30,6); printf("Jugador 1    Jugador 2");
    gotoxy(30,7); printf("   %d            %d ", pla1, pla2);
}

void valores()
{
    gana=0; emp=0; pjug=1;
    int i, j;
    for (i=0; i<=9; i++)
        n[i]=' ';
}

void casillas()
{
    char oc;
    if (pjug == 1)
        oc='X';
    else
        oc='O';
    switch (op) {
        case 1 : if (n[0] != ' ') { repe1=1; break; } else {n[0]=oc; emp++; break;}
        case 2 : if (n[1] != ' ') { repe1=1; break; } else {n[1]=oc; emp++; break;}
        case 3 : if (n[2] != ' ') { repe1=1; break; } else {n[2]=oc; emp++; break;}
        case 4 : if (n[3] != ' ') { repe1=1; break; } else {n[3]=oc; emp++; break;}
        case 5 : if (n[4] != ' ') { repe1=1; break; } else {n[4]=oc; emp++; break;}
        case 6 : if (n[5] != ' ') { repe1=1; break; } else {n[5]=oc; emp++; break;}
        case 7 : if (n[6] != ' ') { repe1=1; break; } else {n[6]=oc; emp++; break;}
        case 8 : if (n[7] != ' ') { repe1=1; break; } else {n[7]=oc; emp++; break;}
        case 9 : if (n[8] != ' ') { repe1=1; break; } else {n[8]=oc; emp++; break;} }
}

void ganador()
{
    n2[0]='X'; n2[1]='O';
    int i;
    if (emp <= 9) {
        for (i=0; i<2; i++) {
        if (n[0]==n2[i] && n[3]==n2[i] && n[6]==n2[i])
            gana=i+1;
        if (n[1]==n2[i] && n[4]==n2[i] && n[7]==n2[i])
            gana=i+1;
        if (n[2]==n2[i] && n[5]==n2[i] && n[8]==n2[i])
            gana=i+1;
        if (n[6]==n2[i] && n[7]==n2[i] && n[8]==n2[i])
            gana=i+1;
        if (n[3]==n2[i] && n[4]==n2[i] && n[5]==n2[i])
            gana=i+1;
        if (n[0]==n2[i] && n[1]==n2[i] && n[2]==n2[i])
            gana=i+1;
        if (n[6]==n2[i] && n[4]==n2[i] && n[2]==n2[i])
            gana=i+1;
        if (n[0]==n2[i] && n[4]==n2[i] && n[8]==n2[i])
            gana=i+1; }
    }
    else
        gana=3;
}

void jug1()
{
    gotoxy(1,14); printf("Jugador 1 - Introduce el numero: ");
    scanf("%d", &op);
    while (op>9 || op<1) {
        gotoxy(1,14); printf("Opcion NO VALIDA, introduce una correcta: ");
        scanf("%d", &op); }
    casillas();
    if (repe1 == 1) {
        gotoxy(1,13);
        printf("Casilla ya elegida! ");
        repe1=0;
        jug1();}
    clrscr();
    ganador();
    pjug=2;
}

void jug2()
{
    gotoxy(1,14); printf("Jugador 2 - Introduce el numero: ");
    scanf("%d", &op);
    while (op>9 || op<1) {
        gotoxy(1,14); printf("Opcion NO VALIDA, introduce una correcta: ");
        scanf("%d", &op); }
    casillas();
    if (repe1 == 1) {
        gotoxy(1,13);
        printf("Casilla ya elegida! ");
        repe1=0;
        jug1();}
    clrscr();
    ganador();
    pjug=1;
}

int main()
{
    char cp;
    do {
    clrscr();
    valores();
    while (gana == 0)
    {
        tablero();
        switch(pjug)
        {
            case 1 : jug1(); break;
            case 2 : jug2(); break;
        }
    }
    switch(gana) {
        case 1 : pla1++; gotoxy(1,13); printf("Gana el jugador 1."); break;
        case 2 : pla2++; gotoxy(1,13); printf("Gana el jugador 2."); break;
        case 3 : gotoxy(1,13); printf("Es un empate."); break; }
    tablero();
    gotoxy(1, 15); printf("Deseas otro juego (S/N): ");
    scanf(" %c", &cp);
    } while (cp == 'S');
    return 0;
}


Si tienen cualquier observación, por favor díganmela para poder corregir mi programa u optimizarlo.

PD: Presiento que se puede hacer de manera más fácil, pero ya no sé como simplificarlo más y siento que así está bien el código. Digo esto porque siempre tiendo a crear códigos complicados y largos cuando en realidad son fáciles y cortos.

Salu2.
#5
Cita de: peke2305 en 11 Enero 2012, 04:04 AM
jejeje bueno de echo tambien lo intente pero nop, me dice que no se pudo realizae la carga de los driv ers :-( :-( :-( >:(

Entonces te recomiendo hacer un backup de tus documentos importantes y formatear individualmente, y posteriormente instalarle los drivers por separado. Aún así puedes dejar tu partición de recuperación para futuras utilizaciones. Si me dices el modelo de tu computadora, podríamos buscar alguna otra solución.
#6
Software / Re: programas instalados en winXP
11 Enero 2012, 04:06 AM
¿A qué te refieres?

A personalizar una instalación de Windows XP con un conjunto de programas de tu elección...?

Claro que se puede.
#7
Cita de: peke2305 en 11 Enero 2012, 03:45 AM
si de echo me refiero a esa y si aparece la forma de como quiero boteear, pero el problema es que solo carga windows en modo de recuperacion, del fabricante y al hacer un test me dice que todo esta bien, bla,bla,bla y que requiero descargar de internet los drivers correspondientes para completar la recuperacion, pero como hacerlo si el dispositivo wi-fi no se activa :rolleyes: :huh: :silbar:

Usa una conexión Ethernet.
#8
Si te refieres a la partición de recuperación que viene por defecto en la computadora, al iniciar ésta debe aparecer en la pantalla el boot alguna tecla configurada para ello, usualmente es F9, F11, o F3, pero depende del fabricante. Te sugiero leer en tu manual de usuario.
#9
Desarrollo Web / Cámaras IP de vigilancia
26 Octubre 2011, 06:18 AM
Hola, comunidad elHacker.net, les quisiera consultar un par de cuestiones que me tienen dando vuelta en la cabeza.

Les cuento, tengo una cámara IP inalámbrica (Foscam FI8918W PTZ), la cual funciona perfectamente. La tengo configurada con DynDNS y me funciona de maravilla, la cuestión es la siguiente: mi cámara soporta carga de imágenes por medio de FTP, para guardar las imágenes con intervalos de 1 a 90 segundos en un servidor externo por medio de protocolo FTP.

Actualmente tengo el servicio de SENSR.NET configurado con mi cámara IP, el cual me cumple todas las expectativas. No sé si alguna vez lo han probado, pero es un servicio gratuito (por ahora, está en beta) el cual guarda la imágen configurada en intervalos, la almacena y la organiza dependiendo la hora, el día y el mes en el que se grabó. Cuando el usuario quiere observar, por ejemplo, la fecha de ayer (24 de octubre) se iría a la fecha de ese día y la página crearía una película JPEG (Motion JPEG) con todas las imagenes en secuencia (entre 400 y 1000, dependiendo del intervalo configurado) y se mostraría como una película, pero con imágenes en secuencia.

Ahora, el dilema es, ¿existe algún tipo de software así, el cual pueda instalar en un webserver o hosting para que me haga todo el procedimiento automáticamente?

Si no lo hubiera...se podría hacer?

Básicamente es un programa que intercepta la imagen entrante de la cámara IP, la renombra con un código de control (hora:Segundos) y se colocan en carpetas dependiendo del día y mes en el que se grabaron. Y después, cuando el usuario desea observar una fecha en específico, se genera una secuela de imágenes con las cientos o miles que se hayan grabado ese día (Motion JPEG). He buscado por mucho tiempo, pero simplemente no encuentro nada, he buscado en inglés, español... hasta en chino pero nada.

Encontre un par, como ZoneMinder, el cual se parece a lo que necesito, pero éste requiere de un servidor físico en la red donde se encuentra la cámara, para ahí almacenarlas y crear un entorno gráfico en el cual se puedan acceder a todas estas imágenes y visualizarlas en una secuencia activa.

Perdonen si fue mucho texto, pero me interesa mucho esto, y si no existiese, podríamos llegar a crear un proyecto entre todos y así apoyar al open source :P.

PD: Para entender más el funcionamiento de SENSR.NET, les recomiendo visitar la página y observar unas cámaras en vivo y sus grabaciones.
#10
Muchísimas gracias por tus comentarios, me haz solucionado el problemón que tenía con mi programa.

El problema es que yo tiendo a crear los códigos de una manera complicada, y nunca pienso que puede ser muy simple. Debo seguir practicando y pensar lógicamente en el problema y en su solución.

Muchísimas gracias, además de que no conocía el sprintf, y parece ser una buena solución.