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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 ... 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 [80] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ... 161
791  Programación / Programación C/C++ / Re: Puedo tapar lo escrito en C? en: 26 Mayo 2017, 13:38 pm
Hay una librería multiplataforma que te abstrae de la consola, tanto en *nix como en Windows. Se llama ncurses. Pero si es solo para un siatema operativo específico serà más fácil con la API de este pues no hay que enlazar librería externa ni configurar un entorno.

Si nos dices para qué S . O. es te podremos orientar mejor.
792  Programación / Programación C/C++ / Re: ayuda / algoritmo para calcular el numero de veces que una cifra se repite en: 25 Mayo 2017, 23:07 pm
Bueno, el enunciado no dice que internamente se deba tratar como un entero. Así que solo debes asegurarte de que todos los caracteres sean números y contarlos.
793  Programación / Programación C/C++ / Re: Programas para calcular fechas en: 24 Mayo 2017, 22:49 pm
Ala pues. Aquí va el de la fecha del día siguiente:
Código
  1. void obtener_siguiente_fecha(tFecha *fecha) {
  2.    switch(fecha->mes) {
  3.        case 1:
  4.        case 3:
  5.        case 5:
  6.        case 7:
  7.        case 8:
  8.        case 10:
  9.        case 12:
  10.            if(fecha->dia == 31)
  11.                fecha->dia = 0;
  12.            break;
  13.  
  14.        case 4:
  15.        case 6:
  16.        case 9:
  17.        case 11:
  18.            if(fecha->dia == 30)
  19.                fecha->dia = 0;
  20.            break;
  21.  
  22.        case 2:
  23.            if(fecha->dia == 28 + (!(fecha->anyo%4) && fecha->anyo%100) || !(fecha->anyo%400))
  24.                fecha->dia = 0;
  25.            break;
  26.    }
  27.    if(fecha->dia == 0)
  28.        ++fecha->mes;
  29.    if(fecha->mes == 13) {
  30.        fecha->mes = 1;
  31.        ++fecha->anyo;
  32.    }
  33.  
  34.    ++fecha->dia;
  35. }

Evitando que se repita código ;D
794  Programación / Programación C/C++ / Re: Programas para calcular fechas en: 24 Mayo 2017, 15:59 pm
De nuevo un error de lógica y parecido al de antes.

Los meses de 30 días están al principio de la función. Cuando los operas pasan a ser meses de 31 días PERO la función no se detiene y llega al código que opera los meses de 31 días. Tu variable ahora es un mes de 31 días y por tanto se le aplica el código de nuevo haciendo que se sume un día.

Tienes 3 formas de solucionar esto:
1. Pones return después de cada operación
2. Haces uso de else if
3. Usas un switch
795  Programación / Programación C/C++ / Re: rror sintáctico cerca del elemento inesperado `)' en: 24 Mayo 2017, 00:50 am
De ejecución, si no lo tiene: chmod +x Welcome
796  Programación / Programación C/C++ / Re: Programas para calcular fechas en: 23 Mayo 2017, 21:45 pm
Error de lógica. Tal como lo tienes tu programa hace lo siguiente:
Código
  1. if(fecha.mes == 4 || fecha.mes == 6 || fecha.mes == 9 || fecha.mes == 11)
  2. {
  3.    if(fecha.dia == 30)
  4.    {
  5.        fecha.dia = 1;
  6.        fecha.mes++;
  7.    }
  8.    else
  9.        fecha.dia++;
  10. }
  11.  
  12. // ...
  13.  
  14. if(fecha.dia == 31)
  15. {
  16.    fecha.dia = 1;
  17.    fecha.mes = 1;
  18.    fecha.año++;
  19. }
  20. else
  21.    fecha.dia++;

Cómo puedes ver ese último if de la función se ejecuta y como no es día 31 te sumará un día más.
797  Programación / Programación C/C++ / Re: Escribir funcion equivalente en C en: 23 Mayo 2017, 19:32 pm
En el ensamblador el resultado se queda en r0 y cuando regresa el valor seguirá en ese registro. Por tanto en C deberás regresar ese resultado.

Por si no entiendes mucho inglés:
la instrucción mla
mla regreso, multiplicando 1, multiplicando 2, sumando

deja en regreso el resultado de multiplicar multiplicando1 y multiplicando2 y, posteriormente añadir sumando



lsr, en ese contexto, desplazará hacia la derecha el contenido del registro de la instrucción mov tantos bits como se indique.
798  Programación / Programación C/C++ / Re: Escribir funcion equivalente en C en: 23 Mayo 2017, 18:53 pm
Es lineal.

¿Cuál es la asignatura?
799  Programación / Programación C/C++ / Re: Escribir funcion equivalente en C en: 23 Mayo 2017, 18:42 pm
¿Es para la universidad? Tenéis que aprender a documentaros, el mundo laboral es muy chungo.
Yo he encontrado este enlace. Rápidamente he podido reconstruir la rutina en C.
http://www.keil.com/support/man/docs/armasm/armasm_dom1361289878324.htm

A ver si lo consigues a partir de esto.
800  Programación / Programación C/C++ / Re: Mostrar números iguales en una misma linea en: 23 Mayo 2017, 18:17 pm
En vez de hacer esas comparaciones tendrías que ordenar los números, ya sea en un array o en las mismas variables.

Y a partir de allí ir mostrándolos en pantalla y agregando un salto de línea si dos contiguos son diferentes u omitiéndolo si son iguales.
Páginas: 1 ... 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 [80] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines