100% encontró este documento útil (1 voto)
740 vistas10 páginas

Introducción a Arreglos en C++

El documento describe los arreglos unidimensionales, incluyendo que son una estructura de datos indexada para almacenar múltiples elementos del mismo tipo en memoria de forma ordenada. Los arreglos tienen índices que van de 0 a n para localizar cada elemento, donde n es el tamaño del arreglo menos uno. Los documentos explican cómo definir, acceder e insertar/extraer elementos de los arreglos.

Cargado por

eliza1010
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
740 vistas10 páginas

Introducción a Arreglos en C++

El documento describe los arreglos unidimensionales, incluyendo que son una estructura de datos indexada para almacenar múltiples elementos del mismo tipo en memoria de forma ordenada. Los arreglos tienen índices que van de 0 a n para localizar cada elemento, donde n es el tamaño del arreglo menos uno. Los documentos explican cómo definir, acceder e insertar/extraer elementos de los arreglos.

Cargado por

eliza1010
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ARREGLOS ALMACENAMIENTO DE DATOS EN ARREGLOS Un arreglo es una estructura de datos indexados que se utiliza para almacenar elementos de datos

de la misma clase. Indexar se refiere a la accin de registrar ordenadamente informacin Arreglos son una serie de elementos (variables) del mismo tipo colocadas consecutivamente en la memoria, que pueden ser referenciados individualmente agregando un ndice a un nico nombre. Los arreglos simplemente proporcionan un medio organizado para localizar y almacenar datos. Por esto a un arreglo se le conoce como una estructura de datos que se usa para almacenar cualquier clase de datos, incluyendo enteros, flotantes, caracteres, arreglos. Esto significa que, por ejemplo, podemos almacenar 5 valores de tipo int sin tener que declarar 5 variables diferentes con un identificador diferente. Sino que, usando un arreglo podemos almacenar 5 diferentes valores del mismo tipo, int por ejemplo, con un nico identificador. Por ejemplo, un arreglo para contener 5 valores enteros de tipo int llamado eliza podra ser representada de esta manera:

0 Eliza int

Donde cada celda en blanco representa un elemento del arreglo, que en este caso son valores enteros de tipo int. Estos estn numerados desde 0 hasta 4 ya que en los arreglos el primer ndice es siempre 0, independientemente de su largo. Un arreglo es una estructura de datos. En otras palabras, un arreglo consta de elementos de datos organizados o estructurados en una forma particular. Esta estructura de datos proporciona un medio conveniente para almacenar grandes cantidades de datos en la memoria primaria o del usuario. Existen arreglos unidimensionales o listas y multidimensionales.

0 Eliza int

4 .

Como se sabe, cada caja tiene un nmero, empiezan con cero y van hasta un nmero finito n. Cmo se localiza una determinada caja? Por medio del nmero. Sin embargo, el nmero de la caja, no tiene nada que ver con lo que contiene la caja. Simplemente se usa para localizar una caja determinada. El arreglo unidimensional consiste en una sola fila de lugares de almacenamiento, cada una etiquetada con un nmero que se conoce con el nombre de ndice. Cada localizacin del ndice se utiliza para almacenar una clase de datos determinada. El dato almacenado en una localizacin de ndice determinada se conoce como elemento del arreglo. De esta manera, un arreglo unidimensional es una lista secuencial de lugares de almacenamiento que contiene elementos de datos individuales que se localizan o accedan por medio de ndices. Los dos componentes principales de un arreglo son los elementos almacenados en el arreglo y los ndices que localizan los elementos almacenados. No se confunda con estos dos componentes del arreglo! Aunque los elementos del arreglo y los ndices se relacionan, son cantidades completamente separadas. ELEMENTOS DEL ARREGLO Los elementos de un arreglo son los datos almacenados en ste y pueden ser de cualquier clase de datos que se hayan visto. De esta manera, un arreglo dado puede almacenar elementos enteros, elementos de punto flotante, caracteres, y elementos booleanos. Adems, de estos elementos de clase de datos estndar, un arreglo tambin es til para almacenar elementos de datos enumerados, es mas los elementos de un arreglo pueden ser otros arreglos. Sin embargo, existe una restriccin importante que se aplica a los elementos del arreglo: todos los elementos de un arreglo determinado debern ser de la misma clase de datos. Tambin es necesario definir los arreglos en un programa C++. Parte de la definicin es especificar la clase de los elementos que el arreglo almacenar. Una vez que se ha definido un arreglo determinado para cierta clase de datos, slo los elementos de esa clase de datos se almacenarn en ese arreglo.

NDICES DEL ARREGLO

Los ndices del arreglo localizan a los elementos del arreglo, en C++, el compilador en forma automtica asigna ndices enteros a la lista de elementos del arreglo empezando con el ndice 0 y el ltimo elemento se localiza en el ndice n. Los ndices empiezan con 0 y van a n, por tanto habr n + 1 elementos en el arreglo. Tambin, debido a que es un arreglo unidimensional, o lista, decimos que tiene una dimensin lo cual significa que hay un rengln de n elementos. La dimensin de un arreglo indica el tamao del arreglo. PARA RECORDAR: En C++ todos los arreglos debern estar definidos. Para definir un arreglo se requiere. 1. La clase de datos de los elementos del arreglo. 2. El nombre del arreglo. 3. El tamao del arreglo.

FORMATO PARA UN ARREGLO UNIDIMENSIONAL <clase de datos del elemento> <nombre del arreglo> [<nmero de elementos del arreglo>]; char caracteres [10];

Escriba las definiciones para los siguientes arreglos: a. Un arreglo llamado enteros que almacenar 10 enteros. b. Un arreglo llamado reales que almacenar 5 valores de punto flotante. c. Un arreglo llamado caracteres que almacenar 11 caracteres.

Qu ndice localiza el ltimo elemento en cada uno de los arreglos anteriores?

Solucin a. int enteros[10]; b. float reales[5]; c. char caracteres[11];

El ndice que localiza el ltimo elemento en cada uno de los arreglos anteriores es uno menos que el tamao definido del arreglo. EL ACCESO A LOS ARREGLOS Tener acceso al arreglo significa insertar elementos dentro del arreglo para almacenar u obtener elementos almacenados desde el arreglo. INSERCIN DE ELEMENTOS EN LOS ARREGLOS UNIDIMENSIONALES Las 3 formas principales de insertar elementos dentro de un arreglo son: 1. Asignacin directa, 2. lectura 3. Usando ciclos. Asignacin Directa <nombre del arreglo> [ndice del arreglo] = valor del elemento; Teniendo los arreglos char caracteres[6]; int enteros[3]; Las asignaciones directas pueden ser como estas: caracteres [0] ='E'; caracteres [5] ='H'; enteros [0] = 20; enteros [2] = -22; En cada uno de estos ejemplos se coloca un elemento en la primera y en la ltima posicin de almacenamiento del arreglo respectivamente. El carcter 'E' se coloca en la primera posicin del arreglo caracteres y 'H' se coloca en la ltima posicin de este arreglo. Recuerde que la primera posicin de este arreglo es siempre [0] y la ltima posicin del arreglo es siempre uno menos que el tamao del arreglo. El entero 20 se coloca en la primera posicin del arreglo enteros y el entero -22 se coloca en la ltima posicin de este arreglo. Observe que se menciona el nombre respectivo del arreglo, seguido por el ndice del arreglo dentro de corchetes. Entonces se usa un operador de asignacin (=) seguido por el elemento que se va a insertar. La clase de datos del elemento que se inserta deber ser la misma que aquella definida para los elementos del

arreglo; de otra manera, se obtendrn resultados indeseables cuando se trabaje con los elementos del arreglo. PARA RECORDAR: Recuerde que los ndices de un arreglo en C++ son valores enteros. Esto significa que cualquier ndice especificado se convierte en su equivalente entero. Por ejemplo, es posible especificar un ndice como un carcter como este: arreglo['A]; sin embargo, C++ trata esto como arreglo[65], porque, desde el cdigo ASCII, el equivalente entero del carcter A es 65. De la misma manera, se puede especificar un ndice usando un valor de punto flotante, como este: arreglo[1.414], sin embargo, C++ lo ve como arreglo[1], porque la parte entera de 1.414 es 1. Para evitar confusin y problemas potenciales, se sugiere utilizar siempre valores enteros en los ndices, a menos que la aplicacin especficamente indique otra cosa. Lectura De Los Elementos Del Arreglo Tambin es posible usar cualquiera de las funciones u objetos de entrada de C++ para insertar los elementos del arreglo desde un teclado: cin > caracteres[1]; cin > enteros[0]; Observe, el usuario debe escribir el valor del elemento del arreglo respectivo desde el teclado y oprimir la tecla ENTER para ejecutar cada enunciado. Deber escribir un carcter para el primer enunciado cin y un entero para el segundo cin. El carcter escrito desde el teclado se almacenar en la segunda posicin (ndice[1]) del arreglo caracteres, mientras que el entero escrito desde el teclado se almacenar en la primera posicin (ndice[0]) del arreglo enteros. insercin elementos de arreglos con el uso de ciclos Puede automatizar el proceso de insercin usando una estructura de ciclo. Aunque cualquiera de las tres estructuras de ciclo (while, do/while, for) se puede emplear, la estructura for es la ms comn. for(int indice = 0; indice < tamao del arreglo; ++indice) <asigna o lee arreglo[indice]>

//LLENADO DE UN ARREGLO CON UN CICLO for #include <iostream.h> // Para cin y cout // DECLARA EL TAMAO DEL ARREGLO const int MAX = 10; int main() { int muestra[MAX]; // DEFINE UN ARREGLO ENTERO cout << "Escriba una lista de" << MAX << " elementos y presione" " la tecla ENTER despus de cada entrada." << endl; for (int i = 0; i < MAX; ++i) cin >> muestra[i]; system("pause"); } // FINAL DE main() Tambin puede usar ciclos para asignar valores a los elementos del arreglo. Por ejemplo: for (int i = 0; i < MAX; ++i) muestra[i] = 2 * i; //LLENADO DE UN ARREGLO CON UN CICLO for #include <iostream.h> // Para cin y cout // DECLARA EL TAMAO DEL ARREGLO const int MAX = 10; int main() { int muestra[MAX]; // DEFINE UN ARREGLO ENTERO for (int i = 0; i < MAX; ++i) cout<<(muestra[i] = 2 * i)<<endl; system("pause"); } // FINAL DE main()

EXTRACCIN DE ELEMENTOS DE LOS ARREGLOS UNIDIMENSIONALES Cuando extraemos un elemento de un arreglo, simplemente copiamos su valor. El elemento permanece almacenado en el arreglo hasta que se remplaza por otro valor usando una operacin de insercin. Como con la insercin, es posible extraer elementos del arreglo usando uno de los tres mtodos generales: asignacin directa, escritura o ciclo Formato De Asignacin Directa (Extraccin De Elementos Del Arreglo)

La extraccin de los elementos del arreglo usando enunciados de asignacin es lo inverso de la insercin de elementos utilizando un enunciado de asignacin. ste es el formato general: <identificador del objeto variable> = <nombre del arreglo>[ndice del arreglo] Suponga que se hacen las siguientes definiciones: const int MAX = 10; int muestra[MAX]; int x; Como puede observar, el arreglo muestra[] consta de 10 elementos enteros. Ahora, suponga que el arreglo est lleno, Qu harn los siguientes enunciados? x = muestra[0]; x = muestra[MAX - 1]; x = muestra[3] * muestra[5]; x = 2 * muestra[2] -3 * muestra[7];

El primer enunciado asigna el elemento almacenado en la primera posicin del arreglo a la variable x. El segundo enunciado asigna el elemento almacenado en la ltima posicin del arreglo a la variable x. El tercer enunciado asigna el producto de los elementos localizados en los ndices [3] y [5] a x. Por ltimo, el cuarto enunciado asigna a x dos veces el elemento localizado en el ndice[2] menos tres veces el elemento localizado en el ndice [7] Los ltimos dos enunciados muestran cmo se pueden realizar las operaciones aritmticas con los elementos del arreglo. En todos los casos anteriores, los valores de los elementos del arreglo no se afectan por las operaciones de asignacin. El principal requerimiento es que x debe estar definida como la misma clase de datos de los elementos del arreglo para no obtener resultados inesperados. Considere estos enunciados de asignacin: muestra[0] = muestra[MAX - 1]; muestra[1] = muestra[2] + muestra[3]; En el primer enunciado, el primer elemento del arreglo se remplaza por medio del ltimo elemento del arreglo, se afecta el ltimo elemento del arreglo? No, porque aparece del lado derecho del operador de asignacin.

En el segundo caso, el segundo elemento del arreglo en el ndice [1] se remplaza por la suma del tercero y cuarto elementos del arreglo en los ndices [2] y [3] De nuevo, el tercero y cuarto elementos del arreglo no se afectan por esta operacin, porque aparecen del lado derecho del operador de asignacin. Escritura De Elementos Del Arreglo Los objetos cout se usan para mostrar los elementos del arreglo. Usemos el mismo arreglo para demostrar cmo escribir elementos del arreglo. Aqu est de nuevo la definicin del arreglo: const int MAX = 10; int muestra[MAX]; Qu hacen los siguientes enunciados? cout << muestra[0] << endl; cout << muestra[MAX - 1] << endl; cout << muestra[1] / muestra[2] << endl; cout << sqrt(muestra[6]) << endl; El primer enunciado mostrar el elemento contenido en el ndice [0] del arreglo. El segundo presentar el ltimo elemento del arreglo, localizado en el ndice [MAX 1] El tercer enunciado dividir el elemento localizado en el ndice [1] entre el elemento en el ndice [2] y mostrar el cociente entero. Por ltimo, el cuarto presentar la raz cuadrada del elemento localizado en el ndice [6] Ninguno de los valores del elemento del arreglo se afectar con estas operaciones. #include <iostream.h> // Para cin y cout #include <math.h> // Para sqrt // DECLARA EL TAMAO DEL ARREGLO const int MAX = 10; // LLENADO DEL ARREGLO int muestra[MAX] = {32, 27, 64, 18, 95, 14, 90, 70, 60, 37}; int main() { cout << muestra[0] << endl; cout << muestra[MAX - 1] << endl; cout << muestra[1] / muestra[2] << endl; cout << sqrt(muestra[6]) << endl; system("pause"); } // FINAL DE main()

Extraccin De Elementos Del Arreglo Con El Uso De Ciclos Al igual que en la insercin de elementos en un arreglo, la extraccin de elementos del arreglo con ciclos requiere menos codificacin, especialmente cuando se extraen elementos mltiples. De nuevo, se puede usar cualquier estructura de ciclo para este propsito, pero los ciclos for son los ms comunes. // MUESTRA UN ARREGLO CON UN CICLO for #include <iostream.h> // Para cin y cout // ENUNCIA EL TAMAO DEL ARREGLO const int MAX = 10; int main() { int muestra[MAX]; // DEFINE UN ARREGLO ENTERO for(int i = 0; i < MAX; ++i) muestra[i] = i * i; for (int i = 0; i < MAX; ++i) cout << muestra[i] <<"\t"; system("pause"); } // FINAL DE main() El arreglo se define localmente como un arreglo de valores enteros MAX[10] su nombre es muestra. Observe que se usa la variable contador de ciclo i como el ndice del arreglo en ambos ciclos for. El primer ciclo llenar los lugares del arreglo con el cuadrado del contador de ciclo. El segundo ciclo mostrar cada uno de los elementos del arreglo localizados desde el ndice [0] hasta el ndice [MAX 1] se usa un enunciado cout para mostrar los elementos del arreglo en forma horizontal a travs de la pantalla. Observe tambin que cada vez que se muestra un elemento, se escribe un tabulador despus del elemento para separarlo del siguiente elemento de la secuencia. La funcin setw(10) ===> despus de 10 espacios La funcin sizeof ===> algn tipo de dato indica que va a imprimir de derecha a izquierda

devuelve el tamao en bytes que ocupa una variable o

También podría gustarte