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

#2121
Es interesante saber el código de error. Si no te lo muestra, haz esto:

Ve a donde esté el ejecutable del programa, y abre una ventana de comandos.
Ejecuta el archivo invocándolo desde la ventana de comandos.
Luego, en la misma ventana, escribe:
Código (bash) [Seleccionar]
echo %errorlevel%

Y pon por aquí el código. No me paré a mirar mucho el código, ya que es muy largo. Sabiendo el error al menos habrá un punto de referencia.
#2122
Incluso conseguir tanto dinero no es un "solo" xD
#2123
Cita de: Eleкtro en 14 Julio 2015, 16:58 PM
del tipo "Winter is comming" a lo Stark

Ese título es atractivo y es una acertada referencia al libro y serie xD

Pero "mundo esoterico paranormal", pues bueno.

Si bien es muy probable que haya una era de hielo, no creo que sea en 15 años xDD
#2124
Cita de: Alvaro.s en 14 Julio 2015, 11:11 AM
Hola amigos. Soy nuevo en el foro y antes de nada gracias por leer el mensaje y las contestaciones.

Estoy intentando hacer un bucle que se ejecute 5 segundos solo y después salga del bucle.
Como puedo hacer eso?

Saludos y gracias.

Dado que el usuario no especifica el código que habrá dentro del bucle, creo que una simple llamada a time() es más simple que un programa multithread, que de hecho, tampoco sabemos si usa C o C++. Sería complicarle el código para conseguir un resultado parecido (obviando el tema de terminar abruptamente un hilo)
#2125
Claro. Incluso una clase, al acceder, acabarías pudiendo cerrando el thread en malos momentos. Incluso un simple array podría quedar mal xD

Mejor con una comprobacion simple en el bucle, asegurandolo todo.
#2126
¿Y pretenderías terminar el hilo por la fuerza? En mi método, dejamos que el hilo acabe. Salvo que así sea, el otro método es cerrarlo por la fuerza. Y cerrar por la fuerza puede dejar memoria suelta, y si fuera C++, ya ni hablamos.
#2128
En primer lugar, no puede devolver 4.9 porque no es coma flotante, y es en segundos.

He de decir, que ese supuesto "4.9", también se cumple en tu código. Puede faltarte unos milisegundos para acabar a tu thread, y el otro, volver a comenzar el bucle.

En cualquier caso, el tiempo máximo posible será de (5s + tiempo del código del bucle en el peor caso), aproximadamente. Es algo inevitable, salvo que dentro del código del bucle se pongan comprobantes del tiempo.

También se podría precalcular el tiempo que puee tardar en el bucle, y hacer mediciones con clock() para intentar exactitud. Pero no creo que se necesite tal exactitud.
#2129
Usando time(0) de la librería time.h, guardas el tiempo de comienzo en una variable. Luego, compruebas cuanto tiempo pasó en cada ciclo (tiempoAhora - tiempoAntes).
time(0) retorna un número en segundos. Con eso, te llega para hacer lo que buscas. Ya si quieres profundizar en el manejo de tiempo: http://www.cplusplus.com/reference/ctime/time/

También tienes la librería chrono en C++11, pero ya es más complicada.

#include <time.h>

/* ... */

time_t start = time(0);

do{
/* ... */
while(time(0)-start>5);
#2130
Te muestra los símbolos porque pusiste:
cadena[i]=i;

Así, cada caracter es igual a un numero del 0 al 19 (cuya representación son caritas y símbolos). Son los caracteres no imprimibles. http://www.elcodigoascii.com.ar/


Para contar cuantoss hay de cada, lo que puedes hacer es hacer un array de int de 26 elementos (inicializados a 0), donde cada uno represente a una letra. Luego, cada vez que encuentres una letra, incrementas el correspondiente en el array. Puedes hacerlo con un switch de 26 cases, pero el mejor método es:
arrayLetras[cadena[i]-'A'] += 1;
Así, si cadena es una 'A', quedará como arrayLetras[0], que representa la A. Si es una B, arrayLetras[1], que es la B, y etc.