Fallo de segmentación!!

Iniciado por <[(x)]>, 13 Julio 2010, 06:11 AM

0 Miembros y 1 Visitante están viendo este tema.

<[(x)]>


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 (cpp) [Seleccionar]
 int p1[3][9];

 for (unsigned int i = 0; i < 35; i ++)
 {
   p1[crtMazo[i].uintPalo-1][crtMazo[i].uintNumero] = i;    
 }


 grax, yo
<[(x)]>

nicolas_cof

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.

@synthesize

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.



int matriz [3] [3];
int conta, contb;

for (conta=0;conta<3;conta++)
{
   for (contb=0;contb<3;contb++)
   {
       matriz [conta] [contb] =0;
   }
}


Así se recorre una matriz...

nicolas_cof

Cita de: Daemon Freedom en 13 Julio 2010, 06:21 AMNo creo que declarar variables dentro del propio for, sea estándar... corregirme si me equivoco.

En el nuevo estandar si se puede, C99. Supuestamente la mayoria de los compiladores actuales tendrian que soportar por defecto este estandar.

Salu10.

@synthesize

Cita de: nicolas_cof en 13 Julio 2010, 06:23 AM
Cita de: Daemon Freedom en 13 Julio 2010, 06:21 AMNo creo que declarar variables dentro del propio for, sea estándar... corregirme si me equivoco.

En el nuevo estandar si se puede, 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.

<[(x)]>



jeje :P

bien era eso me habia faltado valorizar unos items, tenian basura que al usarla como indice se salia del rango  xd gracias!
<[(x)]>

nicolas_cof

<[(x)]>, de nada! para eso estamos compañero ;)

Salu10.