Eliminar la matriz 2D C ++

Eliminar la matriz 2D C ++
Se podría construir una matriz bidimensional de dos maneras distintas: con memoria regular o almacenamiento gratuito. Si se ejecuta un programa, tiene acceso tanto a su memoria habitual como a memoria adicional. El código no se ve obligado a usar el almacenamiento gratuito, que es memoria adicional. En la memoria regular, el programa generará una matriz bidimensional estándar. Si el programa tiene la intención de construir la misma matriz bidimensional en el almacenamiento gratuito, puede hacerlo dinámicamente.

En cada tipo de memoria, el método para definir una matriz bidimensional varía. Simplemente deje que una matriz bidimensional normal salga de rango para eliminarla. Utilice el operador Eliminar [] de manera efectiva para eliminar una matriz bidimensional generada en la biblioteca gratuita. Discutamos cómo eliminar una matriz bidimensional en C ++:

Eliminar una matriz simple bidimensional

Para que una matriz normal bidimensional salga de rango necesita eliminar. Por un dominio anidado, el programa indica esto:

#incluir
usando el espacio de nombres STD;
int main ()

if (1 == 1)
cadena arr2d [] [4] = "zz", "zy", "zx", "zw",
"Mm", "ml", "mk", "mj",
"Ii", "ih", "ig", "si",
"Pp", "po", "pn", "pm";
cout<< arr2D[1][1] <
regresar 0;

Primero, tenemos que presentar el archivo de encabezado . Declaramos una matriz bidimensional y especificamos los elementos de esta matriz. La instrucción 'cout' se aplica a la primera fila y a la primera columna. Entonces obtenemos el elemento presente en la primera fila y la primera columna. Aparte de eso, todos los elementos se eliminan. Terminamos el programa ingresando el comando 'return 0'.

'ML' es el resultado después de ejecutar el código anterior. El contexto anidado es una sección en la construcción if. Al final de la sección, la matriz ya no es válida. Ha habido una observación de indicación debajo de la parte de la función en el código. El programa no se compilaría si se ha eliminado, y puede aparecer una notificación de error.

La matriz bidimensional estándar especificada en el cuerpo de la función termina después de la llamada de función en el siguiente código:

#incluir
usando el espacio de nombres STD;
nulo fn ()

cadena arr2d [] [4] = "zz", "zy", "zx", "zw",
"Pp", "po", "pn", "pm",
"Ii", "ih", "ig", "si",
"Mm", "ml", "mk", "mj";
cout<< arr2D[1][1] <
int main ()

fn ();
regresar 0;

Al comienzo del programa, incluimos el archivo de encabezado . El espacio de nombres estándar se está utilizando. Llamamos al vacío fn (). Aquí definimos los elementos de la matriz bidimensional. Utilizamos la instrucción 'Cout' para obtener el elemento requerido de la matriz definida.

Después de todo esto, aplicamos la función principal (). Dentro del cuerpo de esta función, declaramos fn (). Al final se está utilizando el comando 'return 0'.

A nivel global, asignar un valor a un componente bidimensional antes de que no se haya permitido la declaración.

Eliminar una matriz de puntero de almacenamiento gratuito bidimensional de almacenamiento bidimensional construida dinámicamente

En el nivel más grande, no se requeriría la asignación antes de la declaración. Es útil tener una definición de matriz bidimensional en un dominio anidado en la función primaria de C ++ para fines pedagógicos. La expresión "Eliminar [] matriz bidimensional" se está utilizando para eliminar una matriz 2-D que se especificó en el programa. Esta eliminación debe ocurrir dentro de su dominio para aliviar la memoria y reducir el desbordamiento de la memoria. Por un alcance anidado, el programa posterior ejemplifica esto:

#incluir
usando el espacio de nombres STD;
int main ()

if (1 == 1)
String (*ptr2d) [5] = nueva cadena [5] [5] "zz", "zy", "zx", "zw",
"Pp", "po", "pn", "pm",
"Ii", "ih", "ig", "si",
"Mm", "ml", "mk", "mj",
"Ea", "eb", "ec", "ed", "ee";
cout<< ptr2D[0][0] <eliminar [] ptr2d;
cout<< ptr2D[0][0] <
regresar 0;

Después de incluir la biblioteca, se utiliza el espacio de nombres estándar. La función principal () ahora se declara. Si se realiza la condición. Se construye el puntero de la matriz 2d. Después de eso, definimos una matriz bidimensional y proporcionamos sus elementos. En cero filas y columnas cero, se usa la instrucción 'cout'. La técnica Eliminar [] se está aplicando. Hemos usado la instrucción 'Cout' una vez más después de eliminarla. Salimos del programa ejecutando el comando 'return 0'.

Después de eliminar los elementos de la matriz, el código se vuelve a nada.

Matriz de memoria gratuita de Pointer-to-Pointer bidimensional

Como una matriz de puntero a punto, se podría generar una matriz bidimensional. En esta situación, cada una de las filas debe ser eliminada primero, seguida de la matriz 1d restante. En el C ++, la instancia sucesiva demuestra esto:

#incluir
usando el espacio de nombres STD;
int main ()

cadena ** ptr2d = nueva cadena*[3];
ptr2d [0] = nueva cadena [5];
ptr2d [0] [0] = "zz"; ptr2d [0] [1] = "zy"; ptr2d [0] [2] = "zx"; ptr2d [0] [3] = "zw";
ptr2d [1] = nueva cadena [5];
ptr2d [1] [0] = "mm"; ptr2d [1] [1] = "ml"; ptr2d [1] [2] = "mk"; ptr2d [1] [3] = "MJ";
ptr2d [2] = nueva cadena [5];
ptr2d [2] [0] = "ii"; ptr2d [2] [1] = "ih"; ptr2d [2] [2] = "ig"; ptr2d [2] [3] = "if";
cout<< ptr2D[2][2] <para (int i = 0; i< 3; ++i)
eliminar [] ptr2d [i];

eliminar [] ptr2d;
cout<< ptr2D[1][1] <regresar 0;

El archivo de encabezado se importa al comienzo del programa. Se ha utilizado el espacio de nombres predeterminado. El puntero de cadena al puntero se construye primero dentro del cuerpo de la función principal (). Los componentes de la matriz bidimensional se han definido. Los elementos son especificados por sus filas y columnas. Para obtener el elemento en la segunda fila y la segunda columna de la matriz, utilizamos la instrucción 'Cout'.

Hemos estado empleando el bucle 'para' para eliminar primero las filas de la matriz. La variable de bucle se inicializa y luego se aplica una condición. Por último, hemos incrementado el valor de la variable de bucle. Empleamos el método Eliminar [] para eliminar entidades adicionales. El comando 'return 0' se usa para finalizar el código.

Para eliminar la matriz bidimensional en la biblioteca gratuita, primero, elimine todas las filas usando el método Eliminar [], luego elimine la matriz de puntero de 1 D principal.

Conclusión

En este artículo, hemos descrito diferentes metodologías para eliminar la matriz 2D en C++. Simplemente deje que una matriz normal bidimensional salga de rango para eliminarla. Si la matriz bidimensional estuviera en almacenamiento gratuito, se eliminaría utilizando el operador Eliminar [] para liberar la memoria en el dominio donde se especifica. Si la matriz bidimensional en la biblioteca gratuita se ha construido utilizando notación estándar, entonces la eliminación será tan simple como "eliminar [] [] nombre de matriz bidimensional."

Si se hubiera construido como un puntero a punto, elimine las filas primero utilizando "Eliminar [] ArrayName bidimensional [i]" y luego elimine la matriz 1-dimensional existente usando "Eliminar [] ArrayName bidimensional ".