Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema en c++ primos

Estas en el tema de Problema en c++ primos en el foro de C/C++ en Foros del Web. Hola, es mi primera vez con ustedes. Estoy empezando a programar y me han enviado un ejercicio el cual lo tengo acabado pero me da ...
  #1 (permalink)  
Antiguo 09/02/2013, 08:54
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 0
Problema en c++ primos

Hola, es mi primera vez con ustedes.
Estoy empezando a programar y me han enviado un ejercicio el cual lo tengo acabado pero me da un fallo al final.
Se trata de a partir de una matriz ya predeterminada, te muestre en pantalla los números de la matriz, los cuales son primos.
El proceso esta bien pero la finalización no porque en lugar de darme los numeros primos(en este caso son tres) me da tres ceros, es decir cambia el valor del numero por 0.
Me preguntaba si podriais ayudarme.
Muchas gracias
Aqui lo teneis:

Código:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
char a;
int matriz [] ={5,4,3,7,8},i,j,noprimo,primo=0,pos=0;

cout<<"Los numeros primos son: "<<endl;


            for (i=0;i<5;i++)
            {
            for(j=2;j<matriz[i];j++)
                         {
                         if(matriz[i]%j==0)
                         {
                         matriz[i]=noprimo;
                         }}
                          for(j=2;j<matriz[i];j++)
                          {
                            {              
                             if (matriz[i]%j!=0)
                              matriz[i]=primo;
                               pos=i;
                             }
                                  cout<<matriz[pos]<<endl;
                                  }}
     cin>>a;
     }
  #2 (permalink)  
Antiguo 09/02/2013, 11:51
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 10 meses
Puntos: 57
Respuesta: Problema en c++ primos

La matriz la estas llenando con ceros

Asignas los valores de primo y noprimo a la matriz pero nunca estas asignando valores a esas variables
Código C:
Ver original
  1. ...
  2. matriz[i]=noprimo;
  3. ...
  4. matriz[i]=primo;
  #3 (permalink)  
Antiguo 09/02/2013, 13:36
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema en c++ primos

Muchas gracias por decirme cual era el error pero he probado de mil formas y no me imprime en pantalla los numeros primos, si puedieses decirme como hacerlo, te estariamuy agradecido
  #4 (permalink)  
Antiguo 09/02/2013, 17:27
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 4 meses
Puntos: 28
Respuesta: Problema en c++ primos

No se debe, pero por esta vez te voy ha hacer el trabajo sucio:

Código:
#include <iostream>
using namespace std;
int main()
{
    int matriz [] = {5,4,3,7,8},i,j;
    bool Primo;

    cout<<"Los numeros primos son: "<<endl;

    for (i=0; i<5; i++)
    {
        Primo = true;
        for(j=2; j<matriz[i]; j++) 
        {
            if(matriz[i]%j==0)
            {
                Primo = false;
                j = matriz[i];
            }
        }
        if (Primo == true)
            cout<<matriz[i]<<" ";
    }

    cin.get();
    return 0;
}
El algoritmo es bastante sencillo pero pregunta si tienes dudas.
  #5 (permalink)  
Antiguo 09/02/2013, 18:03
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema en c++ primos

WOW
va perfecto
Muchisimas gracias ya he entendido el fallo

Etiquetas: arrays, c++, matriz, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.