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 - satu

#71
Hola

Hace poco tuve un problema parecido y esta fue la solución:

void delay(double seconds)
{
    time_t start, end; //time.h
    double dif;

    time(&start);
    do{
        time(&end);
    }
    while(difftime(end, start) < seconds);
}


Prueba a ver si te funciona

Saludos
#72
Hola

Pues muy fácil


if(mes == 1)
{
    if(dia >= 1 && dia <= 19)
        printf("Eres capricornio");
    else
        printf("Eres acuario");
}
else
{
    if(mes == 2)
    {
        if(dia >= 1 && dia <=18)
            printf("Eres acuario");
        else
            printf("Eres piscis");
    }
    else
    {
        if(mes == 3)
        {
        .........
        }
    }
}


Aunque en este caso sería un poco mejor utilizar switch


switch(mes)
{
    case 1:
        if(dia >= 1 && dia <= 19)
            printf("Eres capricornio");
        else
            printf("Eres acuario");
        break;
    case 2:
        if(........)
}


Saludos
#73
Hola

¿No puedes almacenar el día en una variable de tipo int y el mes en otra? Así sería muy fácil.

Saludos
#74
PHP / Re: restar horas
30 Enero 2012, 17:55 PM
Hola

Solo tendrías que hacerle algunas modificaciones a lo que viene aquí

Saludos
#75
Hola

Citar

for (i = 0; i <= num; i++){
      fact = 1;
      for (j = i; j > 1; j--)
         fact *= j;

      printf("%2d! = %ld\n", i, fact);
   }

Si es que i=0, cuando entra al bucle for, asigna a j=i (osea cero) y luego dice hasta que j>1. Pero 0 no es mayor que 1, osea, ¿Cómo es que j puede retroceder desde 0 hasta mayor que 1?

No es que retroceda desde 0 hasta mayor que 1, simplemente no cumple la condición del for y no entra, por lo que fact vale 1.


Citar
Lo tercero es respecto al valor de devolución al final, en la sentencia return:


return EXIT_SUCCESS;


Siempre he visto que han devuelto el 0, y lo aplico siempre aunque nunca he comprendido el porqué. Por allí leí que indica que el programa termina con éxito. En otros lados e leído que para que el programa empiece a funcionar, el sistema operativo invoca a main, y a final, main le devuelve el número 0 al sistema operativo indicándole que el programa terminó con éxito. Pero hasta ahora nunca me he podido percatar que el programa falle o que termine sin éxito, siempre he visto que termina.

El return 0 indica al SO si el programa se ha ejecutado con éxito. Si por ejemplo tú creas un programa con un bucle infinito, al cerrarlo, el SO sabrá que algo ha fallado porque no recibe ese 0, ya que no se ha ejecutado entero y no ha devuelto el 0. En Windows 7 cuando pasa algo "raro" el propio SO te avisa de que el programa no funciona bien y debe cerrarse. Para eso es ese return 0 o return EXIT_SUCCESS.


En cuanto a lo que preguntas de los tamaños de int y long int no tengo ni idea.

Saludos
#76
Desarrollo Web / Re: ¿Como hacer esto?
29 Enero 2012, 20:46 PM
Hola

¿Esto es lo que pide?





Saludos
#77
Hola

Yo no tengo ni idea sobre este tema pero haciendo una simple búsqueda en Google encontré esto. Espero que te sea de ayuda.

Saludos

Edito

También encontré esto
#78
Hola

Te lo voy a explicar con manzanas. Si tienes 10 manzanas y las divides entre 3 personas, cada persona recibe 3 manzanas y sobra 1 (recuerda que son divisiones enteras), pues esa manzana que sobra es el resto.

Cuando te enseñaron a dividir no te dijeron Dividendo/divisor = cociente+resto?? pues ese resto.

En cuanto al código que has puesto ahora: i%3 puede tener 3 valores (divide cualquier número entre 3, verás que el resto siempre es 0, 1 o 2), pues cuando i%3 es 0 quiere decir que ese número es múltiplo de 3. Por ejemplo:

1%3 es 1 porque 1/3 = 0 y de resto 1, luego 1 NO es múltiplo de 3
2%3 es 2 porque 2/3 = 0 y de resto 2, luego 2 NO es múltiplo de 3
3%3 es 0 porque 3/3 = 1 y de resto 0, luego 3 es múltiplo de 3
4%3 es 1 porque 4/3 = 1 y de resto 1, luego 4 NO es múltiplo de 3
5%3 es 2 porque 5/3 = 1 y de resto 2, luego 5 NO es múltiplo de 3
6%3 es 0 porque 6/3 = 2 y de resto 0, luego 6 es múltiplo de 3
.
.
.

En cuanto a lo de si puedes prescindir de la palabra new sí que puedes, siempre y cuando crees el array con un tamaño especificado en tiempo de compilación y no en tiempo de ejecución como dijo Xandrete. Si vas a reservar memoria dinámica sí que lo necesitas.

Saludos

Advertencia - mientras estabas escribiendo, fueron publicadas 2 respuestas. Probablemente desees revisar tu mensaje.
#79
Toda la razón, así si no sabe sobre punteros le entrarán ganas de saber cómo funcionan.

Saludos
#80
No me había fijado en eso, muchas gracias Xandrete por decirlo, se me pasó.

Saludos