Dev - C++ - Ayuda con este ejercicio de C++, por favor

 
Vista:
sin imagen de perfil

Ayuda con este ejercicio de C++, por favor

Publicado por anonymous (2 intervenciones) el 27/04/2022 22:41:21
Desarrollar un programa que almacene los números primos que existen hasta un límite superior ingresado por el usuario.

Luego el usuario debe ingresar la posición del número primo a buscar, recuerde que los arreglos empiezan en la posición 0.

Si en caso la posición del número primo no existe, el programa debe informar del error

Ejemplo de input:
100
21

Ejemplo de output:
El numero primo en la posicion 21 es 79

-----------------------------------------------------------

Ejemplo de input:
100
71

Ejemplo de output:
El numero primo en la posicion 71 no existe
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con este ejercicio de C++, por favor

Publicado por Alfil (1444 intervenciones) el 28/04/2022 09:31:39
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
33
34
35
36
37
38
39
40
41
#include <iostream>
 
using namespace std;
 
bool esPrimo(int numero);
 
int main()
{
    int primos[100] = {0};
    int limite, posicion, count = 0;
 
    cout << "Limite: "; cin >> limite;
 
    for (int i = 0; i <= limite; i++)
    {
        if (esPrimo(i))
        {
            primos[count] = i;
            count++;
        }
    }
 
    cout << "Posicion: "; cin >> posicion;
 
    if (posicion >= count)
        cout << "El numero primo en la posicion " << posicion << " no existe" << endl;
    else
        cout << "El numero primo en la posicion " << posicion << " es el " << primos[posicion] << endl;
 
    return 0;
}
 
bool esPrimo(int numero)
{
    int k = 0;
    for(int i = 1; i <= numero; i++)
        if (numero % i == 0)
            k++;
 
    return k == 2;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con este ejercicio de C++, por favor

Publicado por anonymous (2 intervenciones) el 29/04/2022 03:09:31
Hola! Revisé el codigo, y si me funciona. Pero quería preguntar: es posible que con un algun caso de prueba, pueda haber un ''Segmentation Fault''? Espero tu respuesta.
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con este ejercicio de C++, por favor

Publicado por Alfil (1444 intervenciones) el 29/04/2022 10:54:02
En la línea 9 establecemos el tamaño del arreglo en 100

1
int primos[100] = {0};

Si por ejemplo, establecemos el límite en 1000, hay más de 100 primos y o bien, deberíamos ampliar el valor de la línea 9 (por ejemplo a 1000) o bien establecer algún mecanismo que impida introducir un límite mayor al número de primos que se pueden almacenar.
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