Hola a todos, resulta que soy principiante en esto de la programación y tengo que hacer un programa en que me genere de forma aleatoria una cantidad n (ingresada por el usuario) de números y que de todos esos números generados me salga el porcentaje de cuantos son números primos. Tengo ya generados los números lo que me falta es el porcentaje pero no me sale porfa ayudenme.
Esto es lo que he hecho hasta ahora:
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
Esto es lo que he hecho hasta ahora:
Código (c) [Seleccionar]
#include<stdio.h>
#define LONG_VECTOR 20
char validar(int n);
void generarValores(int a[],int n);
void imprimirValores(int a[],int n);
float porcentajePrimos(int a[],int n);
int main(){
int valores[LONG_VECTOR], n;
printf("Ingrese la dimension: ");
scanf("%d", &n);
if(validar(n)=='n'){
printf("Error: Numero no valido!");
return -1;
}
generarValores(valores, n);
printf("Valores generados: \n");
imprimirValores(valores, n);
printf("\nPorcentaje de numeros primos: %.1f", porcentajePrimos(valores, n));
return 0;
}
char validar(int n){
if(n>20){
return 'n';
}else{
return 0;
}
}
void generarValores(int a[],int n){
int i;
for(i=0;i<n;i++){
a[i]=rand()%51;
}
}
void imprimirValores(int a[],int n){
int i;
for(i=0;i<n;i++){
printf("%d\t",a[i]);
}
}
float porcentajePrimos(int a[],int n){
int i,j,acu=0;
for(i=0;i<n;i++){
for(j=2;j<a[i];j++){
if(a[i]%j!=0){
acu++;
}
}
return (acu/n)*100;
}
}
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex