Buenas a todos.
Tengo un problema con un programa, en concreto con las funciones.
Dejo el código y abajo la explicación de cada función.
Este código calcula los 100 primeros nº primos.
dev++
Bien pues este código consta de 2 funciones y la función principal main.
1ª Función: "primos"
2ª Función: "esPrimo"
=================================================================
La función primos se encarga de generar numeros desde 2 hacia delante con la variable "posible" y la variable "contador" de contar cuantos nº primos se han guardado.
------------------------------------------------------------------------------------
La función esPrimo se encarga de recibir el dato de la función primos e ir dividiendo desde 2 hasta (posible-1).
Entonces si el nº que estamos comprobando es primo retorna un "1", si no es "0".
Aqui creo que esta el problema, deberia retornar el resto (1 o 0) a la función "primos" para que guarde el nº primo en caso de que fuese primo.
Disculparme por esta liosa explicación, seguro que falta alguna explicación más.
Pedirme cualquier dato que necesiteis.
Si podeis comentar algo se lo agradezco, tengo que entregarlo antes de las 12 asi que estaré atento.
Muchas gracias.
Tengo un problema con un programa, en concreto con las funciones.
Dejo el código y abajo la explicación de cada función.
Este código calcula los 100 primeros nº primos.
dev++
Código:
#include <stdio.h>
#include <stdlib.h>
/* devuelve 1 si numero es primo y 0 si no lo es*/
int esPrimo (int numero)
{
int divisor=2;
int resto=0;
for (divisor=2; divisor<numero; divisor++)
{
resto=numero%divisor;
if (resto==0)
{printf ("0000"); // Esto es para ver si entra (si entra)
resto=numero;
}
if (resto==1)
{ printf ("1111"); //Aqui tambien.
resto=numero;
break;
} }
}
void primos (int *primo)
{
int posible=2;
int contador=0;
do{
if (esPrimo(posible) == 1){
primo[contador] = posible;
contador++;
}
posible++;
} while (contador<100);
}
int main ()
{
int primo [100];
primos (primo);
printf ("%d", primo);
}
Bien pues este código consta de 2 funciones y la función principal main.
1ª Función: "primos"
2ª Función: "esPrimo"
=================================================================
La función primos se encarga de generar numeros desde 2 hacia delante con la variable "posible" y la variable "contador" de contar cuantos nº primos se han guardado.
------------------------------------------------------------------------------------
La función esPrimo se encarga de recibir el dato de la función primos e ir dividiendo desde 2 hasta (posible-1).
Entonces si el nº que estamos comprobando es primo retorna un "1", si no es "0".
Aqui creo que esta el problema, deberia retornar el resto (1 o 0) a la función "primos" para que guarde el nº primo en caso de que fuese primo.
Disculparme por esta liosa explicación, seguro que falta alguna explicación más.
Pedirme cualquier dato que necesiteis.
Si podeis comentar algo se lo agradezco, tengo que entregarlo antes de las 12 asi que estaré atento.
Muchas gracias.