Ejercicio 2 Primos

Ejercicio 2 Primos

de Emiliano Sebastian Suarez Canepa -
Número de respuestas: 6

Lo primero que hice fue crear una función en la que metes un número y te dice si es primo o no, esa función la probé por separado y funciona correctamente, luego hice el procedimiento y el programa principal con lo que me pedía y al compilar me tira esos errores. No logro ver en qué me equivoco.



En respuesta a Emiliano Sebastian Suarez Canepa

Re: Ejercicio 2 Primos

de Alberto Pardo -
Hola,

El problema es que al llamar Primos en el main le estás pasando a y b por referencia (les pasas &a y &b que son las direcciones de a y b) y en la función Primos tenés definido que los parámetros son de tipo entero y pasados por valor (int a, int b).

Aprovecho para comentarte sobre tu iteración en el intervalo [a,b]. Es necesario visitar todos los valores del intervalo?

Saludos,
Alberto.
En respuesta a Alberto Pardo

Re: Ejercicio 2 Primos

de Emiliano Sebastian Suarez Canepa -
Corregí lo de pasar a y b por referencia y volví a compilar, me tira una advertencia:



El problema ocurre en la línea printf("%d ", &aux); pero no entiendo por qué. 
En respuesta a Emiliano Sebastian Suarez Canepa

Re: Ejercicio 2 Primos

de Lucia Urquiola Chadarevian -
Hola!

Cuando colocamos un ampersand (&) adelante de una variable nos referimos a la dirección de memoria de la misma, en este caso el &aux hace referencia a la dirección de memoria de la variable aux. La dirección de memoria no es un entero, por eso es el warning.
Además no se pide en el ejercicio imprimir direcciones de memoria, sino que se pide imprimir todos los números primos entre a y b.

Saludos,
Lucía.
En respuesta a Lucia Urquiola Chadarevian

Re: Ejercicio 2 Primos

de Emiliano Sebastian Suarez Canepa -
Pude solucionar eso y me compila sin ningún problema, pero luego de poner los valores de A y B no ocurre nada, o sea me queda en loop, asumo que es por algo que estaré haciendo mal en el void, así me quedó el código final:


En respuesta a Emiliano Sebastian Suarez Canepa

Re: Ejercicio 2 Primos

de Lucia Urquiola Chadarevian -
Buenas,

Una de las cosas que veo ahí es que en el primer if de "esPrimo" no está haciendo una comparación, ya que las comparaciones se hacen con dos signos de igual ( == ). Lo que pienso que esta sucediendo es que estas asignandole a num el valor 1 (porque 1 signo de igual es para asignar).

Chequea que pasa corrigiendo eso, y cualquier cosa si no funciona volve a consultar por acá.