SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: ka_1989 en Sábado 10 de Noviembre de 2007, 21:41
-
Hola a todos.
Soy nuevo aquí en el foro y lo descubrí buscando una solución a mi problema. Espero haber si podéis ayudarme.
Bueno, estoy intentando hacer un programilla en c++ que me muestre los números primos entre 1 y un valor n dado. El problema que tengo es que los valores que introduzco con enteros, incluso en un principio naturales nada más. Ahora, cuando compilo todo va bien, hasta que lo ejecuto, momento en el que al introducir el número n se queda pillado durando un rato y después sale "Error de coma flotante" o bien se queda en blanco y no sale nada. Ahora, no se porque me sale esto. Estoy barajando la posibilidad de que sea porque he utilizado el operador % para saber el resto de una operación y así saber si un número es primo o no. De todas maneras si no es esto, por favor indicadme si sabeis algo sobre ello.
MUCHAS GRACIAS A TODOS POR ADELANTADO.
Hasta otro momento.
-
¿Y si vemos el codigo? ¿Estas usando %f por casualidad?
-
Vale, aquí te lo mando adjunto.
Utilizo kate, y estoy utilizando knoppix y fedora como sistema operativos.
Muchas Gracias por todo.
-
Nunca sale del bucle, depuralo paso a paso y comproba los valores de cada variable. No voy a comentar nada sobre el planteamiento en si mismo, eso te lo dejo pura y exclusivamente a vos.
Agrego: en el segundo for NO estas haciendo una comparacion (==) sino una asignacion (=), esa asignacion "equilibra" el incremento ...
-
Ok, eternal ido, muchas gracias por tu ayuda. Voy a ver como lo depuro porque le he dado mil vueltas, incluso haciendo en papel para ver lo valores que tomaría en memoria, pero lo volvere a mirar.
Muchisimas gracias.
Asta otro momento.
-
Ok, eternal ido, muchas gracias por tu ayuda. Voy a ver como lo depuro porque le he dado mil vueltas, incluso haciendo en papel para ver lo valores que tomaría en memoria, pero lo volvere a mirar.
Muchisimas gracias.
Asta otro momento.
Mira el segundo for, esta mal la condicion, haces contador2=contador-1 entonces contador2++ no tiene ningun efecto y contador2 no cambia de valor nunca.