Numeros primos en un array
Publicado por Durán (1 intervención) el 01/01/2020 10:55:52
Buenos días,
Llevo dándole vueltas a este código tan sencillo pero no hay manera de ver dónde está el fallo y me estoy volviendo loco. A ver si alguien con conocimientos más avanzados me puede indicar dónde está el fallo, por favor
Quiero diseñar una función que, dada una lista de números, devuelva otra lista con sólo aquellos números de la primera que son primos.
Lo tengo hecho de dos formas, por si alguno me puede ayudar:
1)
2)
Llevo dándole vueltas a este código tan sencillo pero no hay manera de ver dónde está el fallo y me estoy volviendo loco. A ver si alguien con conocimientos más avanzados me puede indicar dónde está el fallo, por favor
Quiero diseñar una función que, dada una lista de números, devuelva otra lista con sólo aquellos números de la primera que son primos.
Lo tengo hecho de dos formas, por si alguno me puede ayudar:
1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int lista[25], primos; /* Declaramos el tamaño del array, en este caso como máximo 24*/
int i; /* donde vamos a almacenar neustro caracter */
int contador = 0; // donde empieza a contar los numeros que vamos a introducir
printf (" \n Introduzca numeros: ");
i = 0;
lista [i]= primos;
i++;
scanf ("%i", &primos);
for (i = 1; i <= primos; i++) {
if (i == 0) {
contador++;
}
}
if (contador>2){
printf("\n No hay numeros primos");
}
else{
printf("\n Numeros primos: %i", contador);
}
}
2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <conio.h>
int main() {
int n;
printf(" Ingrese un numero: \n");
scanf ("%d, %n");
int lista[n]; // declara un arreglo de enteros
int i;
for (i = 0; i<n; i++){
int num;
scanf ("%d, &num"); // scan de decimales declarados
lista[i] = num;
printf(" Lista de numeros: ", lista);
int c;
for (i = 1; i<= n; i++){
if(n%i == 0)c++; // Si es primo es resto tiene que ser igual a 0
}
if(c==2) printf (" :", num);
else printf (" El numero NO es primo");
}
return 0;
}
Valora esta pregunta


0