elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ayuda violacion de segmento?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda violacion de segmento?  (Leído 4,000 veces)
nightcode

Desconectado Desconectado

Mensajes: 216


Hackea el sistema, Hackea el Mundo,


Ver Perfil
ayuda violacion de segmento?
« en: 30 Diciembre 2013, 23:56 pm »

  Hola a todos !

Alguien podria ojear este codigo y decirme donde esta la violacion de segmento??


/*DICCIONARIO*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int desde;
int hasta;

char nombre[25];   He suprimido esta variable que estaba duplicada, pero sigue el problema..

void calcula (void);


int main()
{
    int ndopcion;
   
    printf("\n\n\t\t\t\tMENU\n\n");
    printf("\n\t\t1\tNumeroS\n\t\t2\tMayusculaS\n\t\t3\tMinusculaS\n\t\t4\tVaciO\n\t\t5\tVaciO\n");
    printf ("\nIntroduza numero de opcion: ");
    scanf (" %d" ,&ndopcion);
   
        switch (ndopcion)
        {
            case 1:
                    {
                    desde=48;
                    hasta=57;
                        calcula();
                    }
            break;
           
            case 2:
                    {
                        desde=65;
                        hasta=90;
                        calcula();
                       
                        }
            break;
           
            case 3:
                    {
                        desde=97;
                        hasta=122;
                        calcula();
                       
                        }
            break;
           
            case 4:
                    {
                   
                }
            break;
           
            case 5:
            {
                   
                }
            break;
            }
       
        }
   
    void calcula (void)
    {
   
    int a, b, c, d, e, f, g, h;
char clv[8];
char nombre[20];
    printf("\nIntroduzca nombre del archivo de salida: ");
    gets(nombre);

 
    FILE *hoja1;
    hoja1 = fopen (nombre , "wt");
    if (hoja1 == NULL)
    printf ("No se ha podido crear el fichero");
    else
       
    for (a=desde; a<= hasta; a++)
    {
        clv[0] = a;
        for (b=desde; b <= hasta; b++)
        {
            clv[1] = b;
                for (c=desde; c<= hasta; c++)
            {   
                clv[2] = c;
                for (d=desde; d<= 90; d++)
                {   
                    clv[3] = d;
                        for (e=desde; e<=hasta; e++)
                        {   
                            clv[4] = e;
                            for (f=desde; f<= hasta; f++)
                            {   
                                clv[5] = f;
                                for (g=desde; g<=hasta; g++)
                                {
                                  clv[6] = g;
                                   for(h=desde; h <= hasta; h++)
                                   {
                                       clv[7] = h;
                                     
                                       
                                    fwrite (clv, sizeof(clv), 1, hoja1);
                                   
                       
                               
                             }
                           
                         }
                     }
                  }
               }
            }
        }
    }
    fclose(hoja1);
    printf("\n%s", clv);
    printf("\nArchivo cerrado\n\n ");
}


En línea

“Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los ordenadores"
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ayuda violacion de segmento?
« Respuesta #1 en: 31 Diciembre 2013, 00:09 am »

Esto va en el apartado de C/C++, no en Programación General.

El código, entre etiquetas GeSHi, C, para que se lea mejor.

Ahora le echo un vistazo.

Edito:
Citar
He suprimido esta variable que estaba duplicada, pero sigue el problema..
Eso comentalo, por favor. (// - /* */)


« Última modificación: 31 Diciembre 2013, 00:11 am por ivancea96 » En línea

nightcode

Desconectado Desconectado

Mensajes: 216


Hackea el sistema, Hackea el Mundo,


Ver Perfil
Re: ayuda violacion de segmento?
« Respuesta #2 en: 31 Diciembre 2013, 00:15 am »

Esto va en el apartado de C/C++, no en Programación General.

El código, entre etiquetas GeSHi, C, para que se lea mejor.

Ahora le echo un vistazo.

Edito: Eso comentalo, por favor. (// - /* */)

ok muchas gracias perdon soy nuevo :S y aun no me familiarizo bn con las etiquetas
En línea

“Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los ordenadores"
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ayuda violacion de segmento?
« Respuesta #3 en: 31 Diciembre 2013, 00:15 am »

El "gets" no llega a pedir ningún nombre. Usa en su lugar, scanf(), por ejemplo.

C++ - Malas prácticas. Échale un ojo a ese hilo. Explica por qué "gets()", entre otros, no se debe utilizar.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ayuda violacion de segmento?
« Respuesta #4 en: 31 Diciembre 2013, 00:24 am »

2 cosas más, creo que ya para terminar:
1: Explica que pretendes que haga tu programa.
2: Creo que se más o menos lo que pretendías hacer. ¿Todas las combinaciones posibles? Ni se te ocurra. suponiendo que elijas números, hay 10: 10^8 (hay 8 ciclos for).
100000000 lineas escribirás en ese archivo. 100000000*8. Eso da más de 100 gigas de archivo, si no me equivoco. En primer lugar, ese programa no acabará. Reza por que no acabe. Y en segundo lugar, no te recomiendo abrir ese archivo, al menos no con el bloc de notas.

Bueno, suerte. Y ten cuenta lo que va a hacer un programa. Los ordenadores son rápidos, pero no mágicos jaja
En línea

nightcode

Desconectado Desconectado

Mensajes: 216


Hackea el sistema, Hackea el Mundo,


Ver Perfil
Re: ayuda violacion de segmento?
« Respuesta #5 en: 31 Diciembre 2013, 14:51 pm »

2 cosas más, creo que ya para terminar:
1: Explica que pretendes que haga tu programa.
2: Creo que se más o menos lo que pretendías hacer. ¿Todas las combinaciones posibles? Ni se te ocurra. suponiendo que elijas números, hay 10: 10^8 (hay 8 ciclos for).
100000000 lineas escribirás en ese archivo. 100000000*8. Eso da más de 100 gigas de archivo, si no me equivoco. En primer lugar, ese programa no acabará. Reza por que no acabe. Y en segundo lugar, no te recomiendo abrir ese archivo, al menos no con el bloc de notas.

Bueno, suerte. Y ten cuenta lo que va a hacer un programa. Los ordenadores son rápidos, pero no mágicos jaja

amigo muchas gracias no me había percatado de ese pequeño xD detalle y si estas en lo correcto xddd gracias ivancea96
En línea

“Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los ordenadores"
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ayuda violacion de segmento?
« Respuesta #6 en: 31 Diciembre 2013, 15:41 pm »

Como dato curioso, dejé el programa 20 segundos, y me generó 1 giga de txt. Sin querer, abrí el txt, y así fue como se me paró el ordenador 1 minuto jaja
En línea

nightcode

Desconectado Desconectado

Mensajes: 216


Hackea el sistema, Hackea el Mundo,


Ver Perfil
Re: ayuda violacion de segmento?
« Respuesta #7 en: 31 Diciembre 2013, 18:32 pm »

jaajjaja xD ;-)
En línea

“Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los ordenadores"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con violación de segmento « 1 2 »
Programación C/C++
Triper0 17 16,535 Último mensaje 8 Noviembre 2015, 21:34 pm
por alesurf1989
Violación de Segmento
Programación C/C++
Jaquieline_JJ 1 2,063 Último mensaje 24 Abril 2014, 04:11 am
por engel lex
Error Violacion de segmento en programa en c
Programación C/C++
nohelyma 2 2,748 Último mensaje 25 Junio 2014, 08:30 am
por eferion
Ayuda, violación de segmento
Programación C/C++
antolinalvaro 6 4,150 Último mensaje 2 Diciembre 2018, 15:41 pm
por CalgaryCorpus
Buenas, necesito ayuda URGENTE!! en un ejercicio, y es que siempre me da Violacion de segmento
Programación C/C++
Pitagoras 9 3,799 Último mensaje 3 Diciembre 2021, 20:24 pm
por Pitagoras
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines