[Solucionado] Alguna manera de resetear un array bidimensional

Iniciado por JavierScars, 6 Enero 2016, 22:39 PM

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

JavierScars

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
Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.

Flamer

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

Eternal Idol

Si entendi bien lo que queres hacer podes usar memset.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

MAFUS

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.

memset(miarray, 0, sizeof(miarray));

Flamer

Me falta que aprender mas de c++   jajajajaja

Saludos

0xFer

Cita de: Flamer en  6 Enero 2016, 23:41 PM
Me falta que aprender mas de c++   jajajajaja

Saludos

Mira el código del método, funciona mao o meno como tu solución.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

geeke

Al tratarse de un array de dos dimensiones la sintaxis correcta seria:

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

Donde m y n serian la cantidad de filas y columnas

Arkangel_0x7C5

Cita de: Coper en  7 Enero 2016, 02:17 AM
Al tratarse de un array de dos dimensiones la sintaxis correcta seria:

Código (cpp) [Seleccionar]
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 (cpp) [Seleccionar]
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

geeke

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.

Arkangel_0x7C5

Cita de: Coper 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.
Ya, pero en ese contexto no hay manera de saber el tamaño. por eso se suele pasar como parametro

Saludos