Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: <[(x)]> en 13 Julio 2010, 06:11 am



Título: Fallo de segmentación!!
Publicado por: <[(x)]> en 13 Julio 2010, 06:11 am

holas
  Haciendo un programa q trabaja con un par de arreglos y de mas me encontre, al probarlo con este error 'Fallo de segmentación'.

  Este mismo me lo tira cuando es ejecutado, cuando compilo el codigo no me tira nada.

este es el segmento q me tira el error" →  p1[crtMazo.uintPalo-1][crtMazo.uintNumero] = i;    
Código
  1.  int p1[3][9];
  2.  
  3.  for (unsigned int i = 0; i < 35; i ++)
  4.  {
  5.    p1[crtMazo[i].uintPalo-1][crtMazo[i].uintNumero] = i;    
  6.  }

  grax, yo


Título: Re: Fallo de segmentación!!
Publicado por: nicolas_cof en 13 Julio 2010, 06:17 am
Es porque seguro estas tratando de acceder a una posicion de memoria que esta fuera del rango de tu arreglo bidimensional.

Fijate bien que valores van tomando crtMazo[i].uintPalo-1 y crtMazo[i].uintNumero con un printf()

Salu10.


Título: Re: Fallo de segmentación!!
Publicado por: @synthesize en 13 Julio 2010, 06:21 am
No creo que declarar variables dentro del propio for, sea estándar... corregirme si me equivoco.

y usas mal la matriz que creaste, para recorrer una matriz necesitas 2 variables.

Código
  1.  
  2. int matriz [3] [3];
  3. int conta, contb;
  4.  
  5. for (conta=0;conta<3;conta++)
  6. {
  7.    for (contb=0;contb<3;contb++)
  8.    {
  9.        matriz [conta] [contb] =0;
  10.    }
  11. }
  12.  

Así se recorre una matriz...


Título: Re: Fallo de segmentación!!
Publicado por: nicolas_cof en 13 Julio 2010, 06:23 am
No creo que declarar variables dentro del propio for, sea estándar... corregirme si me equivoco.

En el nuevo estandar si se puede, C99 (http://en.wikipedia.org/wiki/C99). Supuestamente la mayoria de los compiladores actuales tendrian que soportar por defecto este estandar.

Salu10.


Título: Re: Fallo de segmentación!!
Publicado por: @synthesize en 13 Julio 2010, 06:24 am
No creo que declarar variables dentro del propio for, sea estándar... corregirme si me equivoco.

En el nuevo estandar si se puede, C99 (http://en.wikipedia.org/wiki/C99). Supuestamente la mayoria de los compiladores actuales tendrian que soportar por defecto este estandar.

Salu10.

Gracias por responder, pues es algo que nunca hago, ya me acostumbré a declararlas afuera.


Título: Re: Fallo de segmentación!!
Publicado por: <[(x)]> en 13 Julio 2010, 06:42 am


jeje :P

bien era eso me habia faltado valorizar unos items, tenian basura que al usarla como indice se salia del rango  xd gracias!


Título: Re: Fallo de segmentación!!
Publicado por: nicolas_cof en 13 Julio 2010, 06:44 am
<[(x)]>, de nada! para eso estamos compañero ;)

Salu10.