|
294
|
Programación / Programación C/C++ / Re: Ayuda con ejercicio en C
|
en: 29 Octubre 2012, 00:18 am
|
he vuelto a mirar el post y me he fijado en esto: Dado un numero entero positivo de segundos, se desea convertirlo a días. En el archivo segundos.in se informa el número de segundos el cual puede tener hasta 100 dígitos decimales, como una secuencia de dígitos. hasta 100 digitos decimales significa que va desde 0 hasta 9.99e99 y con un unsigned de 64 bits "solo" llegas hasta 2^64=1.84e19, por lo que deberas buscar la manera de manejar numeros tan grandes (con eso no puedo ayudarte ya que no tengo ni idea, solo comentaba para que lo tuvieras en cuenta). un saludo!
|
|
|
296
|
Informática / Electrónica / Re: Como puedo hacer un sensor que pite cuando la puerta quede abierta
|
en: 28 Octubre 2012, 23:36 pm
|
podrias usar un sensor de luminosidad colocado detras de la puerta para que no se viera mucho, de manera que cuando la puerta se abre (se acerca a la pared) se va haciendo sombra en esa parte. normalmente estos sensores dan la salida en corriente, por lo que necesitarias un circuito convertidor corriente-tension que lo podrias hacer con un amplificador operacional (buscalo en wikipedia). luego ya seria usar otro AO como comparador, por ejemplo usandolo de manera que cuando la tension baje mas que un cierto limite (la puerta se abre, se hace sombra por lo que la luminosidad disminuye) el AO entregue a su salida el nivel bajo te tension. conectando el timbre a la alimentacion y a la salida del AO, entonces funcionaria. si no se superase este limite, el AO entregaria el nivel alto de tension, por lo que no habria diferencia de tension en el timbre y no pitaria. para seleccionar este nivel de referencia, deberias usar un divisor de tension con algun potenciometro para poderlo ajustar una vez este montado y que funcione como tu quieras.
quizas no sea la mejor manera, pero al menos tienes algo por donde empezar a buscar. un saludo!
pd. sino siempre puedes hacer lo que dice stakewinner00, seguro que hay kits asi y son mucho mas faciles de montar, mas aun si no tienes muchos conocimientos de elctronica.
|
|
|
298
|
Foros Generales / Sugerencias y dudas sobre el Foro / links Adf.ly y similares
|
en: 28 Octubre 2012, 20:41 pm
|
buenas a todos,
tengo una pregunta y es que, por que es ilegal poner estos enlaces en el foro, sea lo que sea a lo que apunta?
me refiero a que, si el enlace realmente tiene utilidad y el usuario ha aportado algo que se agradece, que mas da si gana algo con ello? las dos partes (el que ayuda y el ayudado) salen ganando de esta manera.
entiendo que sea ilegal para evitar spam, pero se podria hacer alguna regla no tan extrema. por ejemplo, si el link puesto no tiene nada que ver con el tema y es puro spam, pues se le da un aviso al usuario o bueno eso ya lo dejo en las manos de quien le toque decidir. en cambio, si el link es util, pues que no ocurra nada. los mismos usuarios del tema en cuestion que visiten el link, pueden reportar en un momento y sin esfuerzo en caso de que se tratase de spam.
es solo una idea, pero viendo que ya hay usuarios (no moderadores) que avisan a quien pone estos links para que lo quiten, pienso que no requeriria un esfuerzo extra ni nada. simplemente estos usuarios deberian reportar a un moderador en el caso de que fuera spam.
gracias por la atencion, un saludo!
|
|
|
299
|
Programación / Programación C/C++ / Re: Ayuda con ejercicio en C
|
en: 28 Octubre 2012, 17:16 pm
|
para saber si algun numero es divisible por otro numero, se suele usar el operador de resto o mod '%'. por ejemplo, si quieres saber el resto de hacer una division entera de 7 entre 3, te quedaria: 7 / 3 = 2 (cociente) 7 % 3 = 1 (resto) en el caso de tu ejercicio, es lo mismo pero sabiendo que 1 minuto tiene 60 segundos y que 1 hora tiene 60 minutos (o 3600 segundos). por ejemplo: 140 segundos minutos = 140 / 60 = 2 minutos segundos sobrantes = 140 % 60 = 20 segundos resultado: 2 minutos y 20 segundos espero habertelo aclarado. un saludo!
|
|
|
300
|
Programación / Programación C/C++ / Re: Eliminar lineas en Blanco de un TXT
|
en: 28 Octubre 2012, 00:56 am
|
vengo de estar leyendo un rato un codigo bastante denso y me da pereza leer el tuyo y encontrar donde falla... te dejo un codigo que funciona, es algo diferente al tuyo ya que yo por ejemplo leo caracter por caracter llevando la cuenta de los saltos de linea seguidos que se va encontrando, pero bueno te lo dejo por si te interesa mirartelo y sacar alguna idea. #include <stdio.h> int main(int argc, char** argv) { if (argc != 2) { printf("MODO DE USO: %s <archivo>\n", argv [0]); return 0; } FILE *f1 =fopen(argv [1], "r"); FILE *f2 =fopen("temp.txt", "w"); int bytesLeidos, contador=0; // contador dice el numero de '\n' seguidos que encuentra char aux; while (1) { bytesLeidos =fread(&aux , sizeof(char), 1, f1 ); if (bytesLeidos > 0) { contador= (aux=='\n') ? contador+1 : 0; // se escribe solo si el caracter es distinto de '\n' o si es el primer // '\n' que encuentra if (contador ==1 || aux !='\n') fwrite(&aux , sizeof(char), 1, f2 ); } else break; } printf("Proceso completado.\n"); return 0; }
xiruko:~$ cat archivo.txt 0;Televisor
1;Radio
2;Microondas 3;Video
4;Movil xiruko:~$ gcc texto.c -o texto xiruko:~$ ./texto archivo.txt Proceso completado. xiruko:~$ cat archivo.txt 0;Televisor 1;Radio 2;Microondas 3;Video 4;Movil xiruko:~$ un saludo!
|
|
|
|
|
|
|