Arreglos y Cadenas de caracteres en C++

Estos días de exámenes en mi escuela, conviene recordar los conceptos de arreglos y cadenas de caracteres en C++.

C++ es un lenguaje de programación que fue creado por Bjarne Stroustrup en los 80 aproximadamente, este lenguaje es una amplificación de lo que es el lenguaje de C por eso es que se agrega ++, como indicando que el lenguaje C fue mejorado, este lenguaje de programación es orientado a objetos, es decir que se usa principalmente para definir características y acciones de cualquier cosa al que podamos llamar objeto.
Para programar en C++, basta con tener un editor de texto o un IDE, así como un compilador que convierta el código a un programa .exe.

Se debe de tener un conocimiento básico acerca de C++ (tipos de datos, ciclos, condicionales, etc)

Arreglos
Es una variable que almacena datos de un mismo tipo, "datos", lo que quiere decir que serán mas de un dato, por lo tanto es como una cadena de datos, y con de un mismo tipo me refiero a que estos datos sólo deben de pertenecer a un tipo de datos como int(Enteros,1, 2, 3, etc), float(Reales,1.0, 2.0, 0.5,etc), entre otros tipos de datos, entonces si nos imaginamos un arreglo podría ser una variable con el nombre que nosotros queramos poner (se debe recordar que como es una variable debe de tener un nombre), este arreglo será de un tipo de datos, y con un tamaño, pues debemos especificar la cantidad de datos que se pondrá.
Para declarar un arreglo se utiliza el siguiente formato: tipo nombre[tamaño];

Ejemplo
Declaración de un arreglo de enteros de tamaño de 3


Y el arreglo puede ser de diferentes tipos y diferentes tamaños dependiendo de para que los usemos, además como cualquier otra variable se pueden inicializar con diferentes valores que no pasen del tamaño, pero pueden dejar espacios vacíos o sea que sean menos del tamaño, y apartando los valores con una coma, de este modo: tipo nombre[tamaño]= {dato1,dato2,dato3,etc};


Hay más tipos de arreglos, como son los bidimensionales o multidimensionales, estos lo que hacen es ir almacenando arreglos de datos, se puede entender mejor con una analogía de estos.

Como se puede ver en la analogía, los arreglos bidimensionales tienen filas y columnas, por lo tanto deben de tener dos tamaños, un tamaño para las filas y otro para las columnas, y en el arreglo unidimensional sólo tienen una secuencia es decir solo una fila.
Además se debe destacar que en C++ un arreglo comienza con la posición 0 y va de uno en uno, es decir 0,1,2,3,etc, esto es porque la computadora empieza a contar desde el 0, entonces si le asignamos un tamaño de 3 en un arreglo este tendrá posiciones de: 0,1,2. Si se dan cuenta sólo son 3 posiciones, pero el número 3 no se cuenta.

Formato de declaración de un arreglo bidimensional: 
tipo nombre[tamaño de filas][tamaño de columnas];

Inicialización de un arreglo bidimensional
tipo nombre[tamaño de filas][tamaño de columnas] = {1,2,3,etc,},{10,20,30,etc},{100,200,etc};





Lectura y mostraciónde datos de arreglos unidimensionales y bidimensionales.
Para leer e imprimir datos de un arreglo siempre se tiene que usar  un ciclo, ya sea for o while, cada uno tiene su ventaja dependiendo para que se vaya a usar, aunque para imprimir y leer algo básico se usa el for de esta forma:




cout << enteros[ i ];  la i, es una variable y puede tener distintos valores enteros, cuando se pone un número en específico indica la posición en la que se encuentra.
cin >> enteros[ i ];   cada vez que ingresemos un dato se guardará en el arreglo en la posición i que como dije puede tener varios valores.



cout << enteros[ i ][ j ];   Aquí podemos ver que i sera la posición en las filas y j será la posición en las columnas y mientras vayan aumentando en j, se irá aumentando la posición en las columnas, y cuando i haga lo mismo, también aumentará en las filas. 

cin >> enteros[ i ][ j ]; para leer los datos usando la secuencia de i y j.


Cadena de caracteres

Es un tipo de arreglo unidimensional que almacena caracteres de tipo char, este tipo de arreglo almacena una serie de caracteres, y al final del último caracter se tiene que poner un caracter especial, "caracter nulo " que se escribe '\0', entre apóstrofes y además se le tiene que asignar un espacio para este caracter, es decir puede ser una cadena de caracteres la palabra "hoy":

Cadena[4] = {'h', 'o', 'y', '\0'};
Cadena [4] = "hoy";   


Entonces su analogía sería la de una secuencia de caracteres que termina con uno especial '\0', el caracter nulo une los caracteres para formar palabras.

Lectura de cadenas de caracteres
Para leer una cadena de caracteres se deben usar diferentes funciones, si estamos programando con la librería iostream se puede utilizar la función cin.getline(nombre_de_cadena, tamaño de la cadena); , el tamaño de la cadena debe ser al menos dos caracteres de más para tomar en cuenta el caracter nulo y el caracter de salto de línea, es el que se agrega automáticamente al hacer enter (\n).


Mostrar cadenas de caracteres
Para mostrar una cadena de caracteres con la librería iostream se usa la función 
cout << nombre_de_cadena, ejemplo;

char cadena[4] = "hoy";

cout << cadena;


Arreglo de cadenas de caracteres
Un arreglo de cadenas de caracteres es un arreglo bidimensional, ya que ademas de ser una cadena de caracteres son un conjunto de estas y se declaran igual que un arreglo bidimensional:

char cadena[tamaño_de_filas][tamaño_de_caracteres];

char cadena[3][4]={'h','o','y','\0'}, {'d','i','a','\0'}, {'h','e','y','\0'};

Esa es una declaración iniciada de un arreglo de cadenas de 3 filas y 4 caracteres, y son las cadenas hoy, dia y hey.

Mostrar y leer un arreglo de cadenas de caracteres
Para leer se usa la misma función:
 get.line(nombre[posición_de_fila],tamaño_de_columnas) pero se pone a su final del nombre de la cadena la posición en la fila, ya que la cadena tendrá 4 caracteres constantes.

for(int i=0; i< 3; i++)
    cin.getline (cadena[i],4);


Para mostrar se utiliza la función cout << nombre_cadena[posición_de_fila]; , sólo se pone el nombre y al final la posición de la fila indica toda la cadena contenida:

Para mostrar un arreglo de cadenas:
for(int i=0; i< 3; i++)
    cout << cadena[i];




Esto lo publico porque el día miércoles hice un examen de programación y eran de estos temas, ademas de que explicar esto me ayuda a aprender mejor, ya que fortalece lo poco que se, por eso tengo pensado mostrar mis técnicas de estudios que me han funcionado en otra publicación.


Comentarios

Entradas más populares de este blog

Sadayo Suzumura - Anime

Joichiro Nishi - Anime