elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con ejercicio en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con ejercicio en C  (Leído 5,264 veces)
BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Ayuda con ejercicio en C
« Respuesta #10 en: 31 Octubre 2012, 12:45 pm »

tambien te lo conteste al principio del hilo y no me hiciste mucho caso. pero bueno, te dejo aqui el codigo a falta de implementar lo del numero de 100 cifras.

Código
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <inttypes.h>
  4.  
  5. int main() {
  6.  
  7. uint64_t segundos, minutos, horas, dias;
  8.  
  9. printf("Introduce los segundos: ");
  10. scanf("%llu", &segundos);
  11.  
  12. minutos=segundos/60;
  13. if (segundos%=60) puts("N"); else puts("S");
  14.  
  15. horas=minutos/60;
  16. if (minutos%=60) puts("N"); else puts("S");
  17.  
  18. dias=horas/24;
  19. if (horas%=24) puts("N"); else puts("S");
  20.  
  21. printf("%llu d, %llu h, %llu m, %llu s\n", dias, horas, minutos, segundos);
  22.  
  23. return 0;
  24. }

salida:

Código:
xiruko:~$ gcc segundos.c -o segundos
xiruko:~$ ./segundos
Introduce los segundos: 5650560900
S
N
S
65400 d, 0 h, 15 m, 0 s
xiruko:~$

un saludo!

Y ya, si lo quieres hacer precioso, usas el operador ternario en vez de los ifs xD

Por ejemplo:

Código:
puts ( horas%=24 ? "N" : "S" );


En línea

Puede que desees aprender a programar desde 0: www.espascal.es
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Ayuda con ejercicio en C
« Respuesta #11 en: 31 Octubre 2012, 12:55 pm »

Citar
Y ya, si lo quieres hacer precioso, usas el operador ternario en vez de los ifs xD

Por ejemplo:

Código:
puts ( horas%=24 ? "N" : "S" );

ya lo habia pensado aunque no sabia que se podia usar como parametro. lo habia pensado asi:
Código
  1. (horas%=24) ? puts("N") : puts("S");

pero realmente era lo mismo que ponerlo con if/else asi que me decidi por lo que esta por ser mas claro. aunque gracias por la aclaracion, la verdad es que si que queda mas bonito xD


En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Ayuda con ejercicio en C
« Respuesta #12 en: 31 Octubre 2012, 18:30 pm »

xiruko si que me habia fijado en tu respuesta, de hecho para hacer el codigo que hice yo me base en lo que respondiste tu, conocia el operador ternario, y para que quede mas bonito esta bien usarlo, pero a mi personalmente me gusta mas usar un if - else. Lo unico que no entiendo es esto:

Código
  1. segundos%=60

Saludos
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con ejercicio en C
« Respuesta #13 en: 31 Octubre 2012, 20:16 pm »

Lo unico que no entiendo es esto:

Código
  1. segundos%=60

Citar
segundos=1900
           segundos/60=31==> esto serían minutos     resto=segundos%60=40
es decir, te da los segundos inferiores a 60, o sea lo que quedarían en 1900 después de "quitar" los segundos múltiplo de 60
En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Ayuda con ejercicio en C
« Respuesta #14 en: 31 Octubre 2012, 21:18 pm »

Citar
Lo unico que no entiendo es esto:
Código
  1. segundos%=60

es el operador resto o mod (como dije en el primer comentario), y esta sentencia es equivalente a esta:

Código
  1. segundos=segundos%60;

exactamente igual que todas estas que quizas si que has visto:

Código
  1. a+=b; // a=a+b;
  2. a*=b; // a=a*b;
  3. //etc

Citar
conocia el operador ternario, para que quede mas bonito esta bien usarlo, pero a mi personalmente me gusta mas usar un if - else.

de hecho, a parte de bonito o no (que eso va a gustos), es mas eficiente que un if/else. pero bueno en este programa tampoco viene de ahi asi que...

un saludo!
« Última modificación: 31 Octubre 2012, 21:22 pm por xiruko » En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Ayuda con ejercicio en C
« Respuesta #15 en: 1 Noviembre 2012, 00:01 am »

Vale, ahora lo entiendo todo perfectamente, me gusta mas el codigo de xiruko, es simple, no es largo y facil de entender, muchas gracias a todos por la ayuda.

Saludos
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Ejercicio C 100
Ejercicios
Dem0ny 2 6,006 Último mensaje 19 Diciembre 2007, 22:45 pm
por Dem0ny
Ayuda co un ejercicio de C#
.NET (C#, VB.NET, ASP)
hitori batusai 2 5,320 Último mensaje 22 Febrero 2008, 01:53 am
por hitori batusai
Ayuda con ejercicio de VB
Programación Visual Basic
guada_sp 5 3,311 Último mensaje 8 Marzo 2008, 02:54 am
por ‭‭‭‭jackl007
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,641 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
Ayuda ejercicio de Pascal, cuando uno no lo ve claro pide ayuda
Programación General
manu3742 1 3,202 Último mensaje 31 Marzo 2011, 15:43 pm
por d(-_-)b
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines