Tutoriales

Matriz dinámica de caracteres C++

Una matriz dinámica es comparable a una matriz estándar, excepto que su tamaño se puede cambiar mientras se ejecuta el programa. Los miembros de una matriz dinámica ocupan una sola caché de memoria, una vez que se ha completado, una matriz dinámica puede crecer exponencialmente. La memoria caché especificada se asigna a una matriz cuando se crea. Una matriz dinámica, por otro lado, amplía su capacidad de memoria según un criterio específico cuando es necesario. Empleamos una matriz dinámica cuando necesitamos evaluar el tamaño en tiempo de ejecución. En este artículo, analicemos los detalles de la matriz de caracteres dinámicos en C++.

Utilice el operador new():

El operador new proporciona dinámicamente el objeto en la memoria principal y le devuelve un puntero. Una matriz de caracteres se declara en este programa subsiguiente. Después de eso, en un bucle forasignamos eficientemente la matriz de caracteres y especificamos los datos apropiados para sus componentes.

#incluir

usando el espacio de nombres estándar;
En t principal()
{
En t i, a;
cout< «Ingrese el número de valores:» <>a;
En t *Arr = nuevo En t(a);
cout< «Ingresar « < a < » valores» <final;
por (i = ; i<a>>Arr[i];
}
cout< «Entraste: «;
por (i = ; i< a; i++)
{
cout<Arr[i] < » «;
}
devolver ;
}

Aquí, vamos a integrar el archivo de encabezado. para utilizar sus funcionalidades. Para utilizar las clases en el programa sin declararlo, hemos usado un espacio de nombres estándar. La función main() se llama en el siguiente paso.

Primero, declaramos dos variables ‘i’ y ‘a’. Utilizamos la declaración ‘cout’ para imprimir la línea en la pantalla para que el usuario ingrese la cantidad de números que desea adquirir. Luego, este valor se asigna a la variable ‘a’. Ahora, adquirimos una matriz que contiene el valor de la variable ‘a’ y luego asignamos esto a un puntero de la matriz. Una vez más, se utiliza el comando ‘cout’ para permitir que el usuario ingrese cualquier número aleatorio.

Se ejecuta el bucle For, que inicializa una variable de bucle ‘i’ para recapitular los números introducidos por el usuario. Ahora se muestran los números dentro de la matriz ‘arr’. En una ejecución exitosa, el programa devolverá valor. El cuerpo de la función main() ha llegado a su fin.

Utilice una lista de inicializadores:

Es simple establecer una matriz de caracteres dinámicos en 0. La longitud indica la cantidad de elementos que se insertarán en la matriz en esta metodología. La matriz se dejará en blanco porque tenemos que especificar la matriz de caracteres a cero. Se usaría una lista de inicializadores para crear una matriz de caracteres dinámicos. Echa un vistazo a un ejemplo.

#incluir

usando el espacio de nombres estándar;
En t principal(vacío)
{
En t j;
En t *formación{ nuevo En t[8]{ 1, 14, 9, , 33, 5, 28, 6 } };
cout< «Elementos de la matriz: « <final;
por (j = ; j < 8; j++)
{
cout< formación[j] <final;
}
devolver ;
}

Primero, incluimos el archivo de cabecera para funciones de entrada y salida. El espacio de nombres estándar también se utiliza para que podamos acceder a las clases sin tener que llamarlo. Empleamos la función main(). Dentro del cuerpo de esta función, se inicializa la variable ‘j’. Luego, declaramos una matriz con una lista. El tipo de datos de esta matriz es un número entero. La matriz contiene 8 enteros numéricos. Queremos imprimir la línea ‘Elementos de la matriz’ en la pantalla, por lo que utilizamos la instrucción ‘cout’. El comando ‘endl’ muestra el final de la línea. Simplemente mueve la salida a la siguiente línea.

Aplicamos el bucle ‘for’. Dentro del bucle ‘for’ simplemente inicializamos una variable de bucle ‘j’ y luego especificamos la condición de que el valor de la variable ‘j’ debe ser inferior a 8. En la última parte, aumentamos el valor del bucle. Para mostrar los elementos de la matriz definida en la pantalla, se utiliza la instrucción ‘cout’. Fuera del bucle ‘for’ ingresamos el comando ‘return 0’ para finalizar el programa.

Utilice el método std::unique_ptr:

El puntero std::unique_ptr es otro enfoque para crear una matriz de caracteres dinámicos y facilita una interfaz de asignación de memoria segura. El elemento al que apunta la función unique_ptr debe ser propiedad de la operación; pero, si el puntero sale del rango, el elemento se descarta. A diferencia de los punteros convencionales, el puntero inteligente no requiere un programador para ejecutar el operador de eliminación; más bien, se llama implícitamente cada vez que se elimina el elemento.

#incluir

#incluir

usando estándar::cout;
usando estándar::final;
constexpr En t s = 11;
estático constante carbonizarse caracteres[] =
{ ‘YO’, ‘norte’, ‘F’, ‘O’, ‘r’, ‘metro’, ‘a’, ‘T’, ‘YO’, ‘o’, ‘NORTE’ };
En t principal()
{
estándar::único_ptrarr(nuevo carbonizarse[s]);
por(En t k = ; k < s; ++k)
{
Arr[k] = caracteres[k];
cout<Arr[k] < «; «;
}
cout<final;
devolver SALIR_ÉXITO;
}

Al comienzo del programa, presentamos dos bibliotecas requeridas: y . Para utilizar las funciones de salida, utilizamos ‘cout’ estándar. Junto con esto, hemos estado usando ‘endl’ que muestra el final de la línea. Simplemente mueve el cursor a la línea siguiente. El tamaño de la matriz se especifica aquí utilizando un tipo de datos entero.

En el siguiente paso, declaramos la matriz de caracteres constante estática para definir sus elementos. Invocamos la función main(). Y para la asignación de memoria, aplicamos std::unique_ptr dentro del cuerpo de la función. Construimos una variable de bucle ‘k’ dentro del bucle for para repasar los valores de la matriz definida. Luego, recupere los valores definidos de la matriz y guárdelos en la variable ‘arr’. Para mostrar los caracteres contenidos en ‘arr’, se utiliza la instrucción ‘cout’. Para lograrlo, el código puede devolver valor. En el último paso, usamos ‘return EXIT_SUCCESS’ para finalizar el código.

Conclusión:

En este artículo, hemos hablado sobre la matriz dinámica de caracteres y las diferentes metodologías de asignación de matrices de caracteres en C++. Estas técnicas incluyen el uso de un operador new(), una lista de inicializadores y el método std::unique_ptr. Utilizamos una matriz dinámica cuando necesitamos determinar el tamaño de la matriz de caracteres en tiempo de ejecución. La longitud de una matriz de caracteres dinámicos se determina en el momento de la asignación.

LEER  Revisión de Linux Lite 5.2 en español

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba