Fallo de segmentación!!

(1/2) > >>

<[(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
 int p1[3][9];
 
 for (unsigned int i = 0; i < 35; i ++)
 {
   p1[crtMazo[i].uintPalo-1][crtMazo[i].uintNumero] = i;    
 }

  grax, yo

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.

Código
 
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 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. 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 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. 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.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente