Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: TewsDR en 26 Febrero 2012, 02:35 am



Título: se cierra solo la ventana
Publicado por: TewsDR en 26 Febrero 2012, 02:35 am
cuando compilo, se ejecuta el programa, pero despues se cierra,
porque no responde, ayudenme plz.


#include<cstdlib>
#include<iostream>
using namespace std;
void llenar(int v[][10],int fila,int columna);
void mayor(int v[][10],int fila,int columna);
void primos(int v[][10],int fila,int columna,int b[]);

void llenar(int v[][10],int fila,int columna)
{
     int i,j;
     for(i=0;i<columna;i++)
     {
                        for(j=0;j<fila;j++)
                        {
                                              cout<<"Ingrese numero "<<i+1<<","<<j+1<<": "; cin>>v[j];
                        }
     cout<<endl;
     }
}
void mayor(int v[][10],int fila,int columna)
{
     int i,j,t;
     for(i=0;i<columna;i++)
     {
                           t=0;
                        for(j=0;j<fila;j++)
                        {
                                              if(v[j]>t)
                                              t=v[j];
                        }
     cout<<"El mayor de la columna "<<i+1<<" es: "<<t<<endl;
     }
}
void primos(int v[][10],int fila,int columna,int b[])
{
     int i,j,c,k=0,m;
     for(i=0;i<columna;i++)
     {
                           for(j=0;j<fila;j++)
                           {c=0;
                                              for(m=0;m<v[j];m++)
                                              {
                                                                    if(v[j]%m==0)
                                                                    c=c+1;
                                              }
                           if(c<=2)
                           {
                                   b[k]=v[j];
                                   cout<<"primo "<<k+1<<": "<<b[k]<<endl;
                                   k=k+1;
                           }
                           }
     }
}     
int main()
{
    int fila,columna;
    int matriz[5][10];
    int a[50];
    cout<<"Ingrese fila: "; cin>>fila;
    cout<<"Ingrese columna: "; cin>>columna;
    llenar(matriz,fila,columna);
    cout<<endl;
    mayor(matriz,fila,columna);
    cout<<endl;
    primos(matriz,fila,columna,a);
   
   
   
system ("PAUSE");
return EXIT_SUCCESS;
}


Título: Re: se cierra solo la ventana
Publicado por: dnsdirm en 26 Febrero 2012, 04:20 am
Solo logre esto en las lecturas de la matriz solo especificabas la columna y te faltavan las filas asi :
cin>>v[j];
y habia un problema en la funcion primos al parecer no muestra solo los primos muestra cualquier dato y se cicla en esa funcion.
Código:
#include<cstdlib>
#include<iostream>
using namespace std;
void llenar(int v[][10],int fila,int columna);
void mayor(int v[][10],int fila,int columna);
void primos(int v[][10],int fila,int columna,int b[]);

void llenar(int v[][10],int fila,int columna)
{
    int i,j;
    for(i=0;i<columna;i++)
    {
        for(j=0;j<fila;j++)
        {
            cout<<"Ingrese numero "<<i+1<<","<<j+1<<": ";
            cin>>v[i][j];
        }
        cout<<endl;
    }
}
void mayor(int v[][10],int fila,int columna)
{
    int i,j,t;
    for(i=0;i<columna;i++)
    {
        t=0;
        for(j=0;j<fila;j++)
        {
            if(v[i][j]>t)
            t=v[i][j];
        }
        cout<<"El mayor de la columna "<<i+1<<" es: "<<t<<endl;
    }
}
void primos(int v[][10],int fila,int columna,int b[])
{
    int i,j,c,k=0,m;
    for(i=0;i<columna;i++)
    {
        for(j=0;j<fila;j++)
        {
            c=0;
            for(m = 2;m < v[i][j];m++)
            {
                if(v[i][j]%m==0)
                    c=c+1;
            }

            if(c<=2)
            {
                b[k]=v[i][j];
                cout<<"primo "<<k+1<<": "<<b[k]<<endl;
                k=k+1;
            }
        }
     }
}
int main()
{
    int fila,columna;
    int matriz[5][10];
    int a[50];
    cout<<"Ingrese fila: "; cin>>fila;
    cout<<"Ingrese columna: "; cin>>columna;
    llenar(matriz,fila,columna);
    cout<<endl;
    mayor(matriz,fila,columna);
    cout<<endl;
    primos(matriz,fila,columna,a);
    system ("PAUSE");
    return EXIT_SUCCESS;
}



Título: Re: se cierra solo la ventana
Publicado por: TewsDR en 26 Febrero 2012, 04:36 am
gracias brother, ya me di cuenta del error, era en agregar fila y el 'm' no debe empezar en 0, por eso no se cerraba,
gracias.


Título: Re: se cierra solo la ventana
Publicado por: x64core en 26 Febrero 2012, 05:18 am
@TewsDR:
no creo que nadie te ayude si solo pegas el codigo y dices que se cierra así nada mas, te recomiendo que lo depures
y si te encontras con un error lo comentas
para Proxima