Programa para revisar los errores de sintaxis de un programa en C.

Iniciado por NOB2014, 8 Octubre 2016, 14:54 PM

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

geeke

Tienes dos errores importantes en tu ultimo codigo:

- Primero, la notacion fil * i + j no accede al array como 2D, esto sobreescribe en cada iteracion del bucle externo lo asignado previamente, puedes comprobar esto imprimiendo el array a parte, lo que buscas es i * col + j.

- Segundo, solo reservas espacio para siente enteros no para diez, afortunadamento solo logras asignar siente enteros al array debido al error mencionado, caso contrario estarias desbordando el array.


NOB2014

Hola, geeke, ¿cómo estas? -
El primer error totalmente de acuerdo, en el segundo casi no tengo dudas que estoy equivocado porque desde que participas en mis post todo lo tuyo fueron aciertos, pero igual tengo la siguiente duda:
x en la línea 6 se iguala a col que vale 5, o sea, que para mí en la línea 8 reserva memoria para 5 enteros, luego en la línea 12 a la variable x le sumo col por lo tanto en la línea 14 x vale 10 y para mi criterio reservo memoria para 10 enteros, me podías decir en que estoy equivocado. -
Saludos.
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-

geeke

Cita de: NOB2014 en 15 Octubre 2016, 17:55 PM
pero igual tengo la siguiente duda:
x en la línea 6 se iguala a col que vale 5, o sea, que para mí en la línea 8 reserva memoria para 5 enteros, luego en la línea 12 a la variable x le sumo col por lo tanto en la línea 14 x vale 10 y para mi criterio reservo memoria para 10 enteros, me podías decir en que estoy equivocado. -
Saludos.

No olvides que realloc reserva memoria en bytes, esto quiere decir que estas reasignando solo diez bytes, es decir espacio para dos enteros mas, teniendo en cuenta que un int es equivalente a cuatro bytes en un sistema de 32 bits. Por eso es importante no olvidar multiplicar size * sizeof(int).

Saludos.