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;
int p1[3][9];
for (unsigned int i = 0; i < 35; i ++)
{
p1[crtMazo[i].uintPalo-1][crtMazo[i].uintNumero] = i;
}
grax, yo
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.
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...
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 (http://en.wikipedia.org/wiki/C99). Supuestamente la mayoria de los compiladores actuales tendrian que soportar por defecto este estandar.
Salu10.
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 (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.
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)]>, de nada! para eso estamos compañero ;)
Salu10.