C/Visual C - Numeros primos en un array

 
Vista:
Imágen de perfil de Durán
Val: 1
Ha disminuido su posición en 42 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

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)

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Numeros primos en un array

Publicado por Israel Luengo Garcia a.k.a Snaked of Polygon (6 intervenciones) el 08/01/2020 11:50:39
prueba con este codigo a ver

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
31
32
/* Programa: Números primos entre el número 1 y el 20 */
 
#include <conio.h>
#include <stdio.h>
 
int main()
{
    int contador, n, primo;
 
    printf( "\n   " );
 
    for ( n = 1 ; n <= 20 ; n++ )
    {
        primo = 1;
        contador = 2;
 
        while ( contador <= n / 2 && primo )
        {
            if ( n % contador == 0 )
                primo = 0;
 
            contador++;
        }
 
        if ( primo )
            printf( "%d ", n );
    }
 
    getch(); /* Pausa */
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar