Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JavierScars en 6 Enero 2016, 22:39 pm



Título: [Solucionado] Alguna manera de resetear un array bidimensional
Publicado por: JavierScars en 6 Enero 2016, 22:39 pm
Pues eso alguna manera de resetearl y hacer que todos los valores sean 0, sin introducir los valores todos como 0 o usar los dos for para definir a 0 todos.

Gracias a todos por las respuestas muy pero muy útiles  ;D


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: Flamer en 6 Enero 2016, 23:16 pm
No se puede tienes que usar los dos for y pasar el valor 0, que no se te olvide son posiciones de memoria y volverán a su estado de 0 cuando termine el programa

Hasta ahorita yo no conozco ninguna instrucción que realice eso


Saludos Flamer


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: Eternal Idol en 6 Enero 2016, 23:22 pm
Si entendi bien lo que queres hacer podes usar memset.


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: MAFUS en 6 Enero 2016, 23:23 pm
En string.h

Está void * memset ( void * ptr, int value, size_t num );

Llena una zona contigua de memoria apuntada por 'ptr' con el dato 'value' las 'num' primeras posiciones.
Devuelve ptr.

Código
  1. memset(miarray, 0, sizeof(miarray));


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: Flamer en 6 Enero 2016, 23:41 pm
Me falta que aprender mas de c++   jajajajaja

Saludos


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: 0xFer en 7 Enero 2016, 00:36 am
Me falta que aprender mas de c++   jajajajaja

Saludos

Mira el código del método, funciona mao o meno como tu solución.


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: geeke en 7 Enero 2016, 02:17 am
Al tratarse de un array de dos dimensiones la sintaxis correcta seria:

Código
  1. memset(array, 0, sizeof(array[0][0]) * m * n);

Donde m y n serian la cantidad de filas y columnas


Título: Re: Alguna manera de resetear un array bidimensional
Publicado por: Arkangel_0x7C5 en 7 Enero 2016, 02:37 am
Al tratarse de un array de dos dimensiones la sintaxis correcta seria:

Código
  1. memset(array, 0, sizeof(array[0][0]) * m * n);

Donde m y n serian la cantidad de filas y columnas
en realidad vastaria con
Código
  1. memset(array, 0, sizeof(array));

Ya que sizeof te calcularia el tamaño total en bytes que es lo que pide a funcion, otra cosa es el el array sea con memoria dinamica

Saludos


Título: Re: [Solucionado] Alguna manera de resetear un array bidimensional
Publicado por: geeke en 7 Enero 2016, 16:08 pm
Eso funciona sólo en el ámbito donde se declaró la matriz, si pasa a una función, entonces el nombre de la matriz se convierte en puntero , y sizeof no dará el tamaño correcto. El compañero no específico en que contexto lo utilizara, yo supuse que seria en una función.


Título: Re: [Solucionado] Alguna manera de resetear un array bidimensional
Publicado por: Arkangel_0x7C5 en 10 Enero 2016, 14:25 pm
Eso funciona sólo en el ámbito donde se declaró la matriz, si pasa a una función, entonces el nombre de la matriz se convierte en puntero , y sizeof no dará el tamaño correcto. El compañero no específico en que contexto lo utilizara, yo supuse que seria en una función.
Ya, pero en ese contexto no hay manera de saber el tamaño. por eso se suele pasar como parametro

Saludos