Sie sind auf Seite 1von 23

ARREGLOS EN LENGUAJE C++

Departamento/ Ciencias de la Computacin (ESPE) Sangolqui Ecuador Daro Astudillo darioctsystem@gmail.com

resumen:In this paper we explain in detail as is the use of arrays in c + + language "programming" and so for future practices can more easily understand the use of this method of data storage.

I.

INTRODUCCION

Un arreglo es una estructura de datos, o ms tcnicamente, un espacio de memoria que permite almacenar una coleccin de elementos, todos del mismo tipo. Conviene imaginar un arreglo como una secuencia contigua de celdas (espacios de memoria), o casillas, en cada una de las cuales se puede guardar un elemento de la coleccin. Adems, es usual dibujarlo como lo ilustra la figura siguiente:

Esta figura representa un arreglo de siete casillas cada una de las cuales se puede utilizar para guardar un dato. La dimensin o tamao de un arreglo es el nmero de casillas que lo conforman. Debe ser claro, entonces, que la figura anterior corresponde a un arreglo de dimensin 7. Cada una de las casillas de un arreglo tiene asociado un nmero que la identifica de manera nica. A este nmero se le llama ndice o direccin. En la figura anterior, debajo de cada casilla, aparece su ndice. En lenguajes como C, C++ y java, la primera casilla del arreglo tiene ndice 0, la segunda tiene ndice 1, la tercera ndice 2, y as sucesivamente. Es muy importante tener presente que si el arreglo es de dimensin N, la ltima casilla tiene ndice N-1.

Los lenguajes de programacin, permiten que el programador declare arreglos de cualquier tipo y prcticamente de cualquier tamao. En el seudolenguaje, un arreglo se declara usando el siguiente formato o plantilla: <NOMBRE> : arreglo [<N>] de <TIPO>

ll. Arreglos
Un arreglo o array (en ingls) es una coleccin de variables relacionadas a las que se hace referencia por medio de un nombre comn. Otra definicin vlida es que un arreglo es un conjunto de datos que se almacenan en memoria de manera contigua con el mismo nombre y para diferenciar los elementos de un arreglo se utiliza un ndice. En el lenguaje C++ un arreglo se le conoce como un tipo de dato compuesto. Los arreglos pueden tener una o varias dimensiones.

Arreglos tipo matrices


Tambin podemos ubicar un dato dentro de una matriz de memoria.

a) Arreglos unidimensionales
Un arreglo de una dimensin es una lista de variables, todas de un mismo tipo a las que se hace referencia por medio de un nombre comn. Una variable individual del arreglo se llama elemento del arreglo. Para declarar un arreglo de una sola dimensin se usa el formato general:

tipo_dato identificador[tamao];

Ejemplo 1. Arreglo de una dimensin :


1. using namespace std; 2. #include <iostream> 3. int main() 4. { 5. int sqrs[10]; 6. int i; 7. for (i=1;i<11;i++) { 8. sqrs[i-1]=i*i; 9. } 10. for (i=0;i<10;i++) { 11. cout<<sqrs[i]<<endl; 12. } 13. return 0; 14. } arreglo es la siguiente: sqrs[0] = 1*1 sqrs[1] = 2*2 sqrs[2] = 3* sqrs[3] = 4*4 sqrs[4] = 5*5 sqrs[5] = 6*6 sqrs[6] = 7*7 sqrs[7] = 8*8 sqrs[8] = 9*9 sqrs[9] = 10*10

Asignacin entre arreglos


En C++ no se puede asignar un arreglo completo a otro arreglo. Por ejemplo, este fragmento es incorrecto : incorrecto char a1[10], a2[10]; . a2=a1; // Es incorrecto

Si desea copiar los valores de todos los elementos de una arreglo a otro debe hacerlo copiando cada elemento por separado. Por ejemplo, el siguiente programa carga a1 con los nmeros 1 a 10 y despus | los copia en a2. Ejemplo 3. 1. using namespace std; La forma como quedar 2. #include <iostream> es la seguinte: 3. int main() 4. { a1[0] = a2[0] 5. int a1[10], a2[10]; a1[1] = a2[1] 6. int i; a1[2] = a2[2] 7. //Inicializacin de a1 a1[3] = a2[3] 8. for (i=0; i<10;i++) a1[4] = a2[4] 9. a1[i]=i+1; a1[5] = a2[5] 10. //Copiar en a2 a1[6] = a2[6] 11. for (i=0; i<10;i++) a1[7] = a2[7] 12. a2[i]=a1[i] a1[8] = a2[8] 13. //Mostrar a2 a1[9] = a2[9] 14. for (i=0; i<10;i++) 15. cout<<a2[i]<<endl; 16. return 0; 17. }

b) Arreglos multidimensionales
Es una estructura de datos esttica y de un mismo tipo de datos, y de longitud fija que almacena datos de forma matricial. De igual forma que los arreglos unidimensionales, el almacenamiento de los datos en la memoria se realiza de forma secuencial y son accedidos mediante ndices. Los arreglos multidimensionales son tambin conocidos como matrices. Por lo tanto se llama matriz de orden "mn" a un conjunto rectangular de elementos dispuestos en filas "m" y en columnas "n", siendo m y n nmeros naturales. Las matrices se denotan con letras maysculas: A, B, C, ... y los elementos de las mismas con letras minsculas y subndices que indican el lugar ocupado: a, b, c, ... Un elemento genrico que ocupe la fila i y la columna j se escribe i,j. Si el elemento genrico aparece entre parntesis tambin representa a toda la matriz: A (i,j). Una matriz de orden 3x4 se muestra a continuacin, siendo M una matriz de 3 filas y 4 columnas, la representacin grfica de sus posiciones sera la siguiente:

M 3x4 Filas = 3, columnas = 4

Declaracin de Arreglos multidimensionales


La sintaxis es la siguiente: tipo_dato identificador [dimensin1] [dimensin2] ... [dimensinN] ; Donde N es un nmero natural positivo. Ejemplo Arreglo de dos dimensiones de orden 2x3. char m[2][3] ;

Declaracin char m[2][3]; // forma una tabla de dos filas y tres columnas // cada fila es un arreglo de una dimensin

II.VECTORES Y MATRICES
Los vectores y matrices son uno de los medios principales para el almacenamiento de los datos en un programa. En esta prctica veremos todos los conceptos relativos a la creacin y manejo en C de vectores, matrices y cadenas de caracteres.

Bsqueda en vectores y matrices.


Como ya hemos comentado inicialmente, los vectores y matrices son uno de los medios principales mediante los cuales se almacenan los datos en un programa C. Debido a esta causa, existen operaciones fundamentales cuyo tratamiento es imprescindible conocer. Estas operaciones esenciales son la bsqueda de elementos y la ordenacin.

a) Bsqueda de un Vector
La bsqueda de un elemento dentro de un vector se basa en ir recorriendo secuencialmente el vector, de una posicin a la siguiente, comenzando en la primera posicin del vector y detenindose nicamente cuando se encuentra el elemento buscado o bien cuando se alcanza el final del vector.

Ejemplo 2:
encontrado = 0 indice = 0 mientras (encontrado == 0) y (indice < ultimo) hacer si (Vector[indice] == elemento_buscado) entonces encontrado = 1 sino incrementar indice fin_mientras
si (encontrado == 1) entonces Escribir Elemento encontrado en posicin indice sino Escribir Elemento no encontrado

CADENA DE CARACTERES
En C no existe un tipo predefinido para manipular cadenas de caracteres (string). Sin embargo, el estndar de C define algunas funciones de biblioteca para tratamiento de cadenas. Una cadena en C es un array de caracteres de una dimensin (vector de caracteres) que termina con el carcter especial \0 (cero). El formato para declarar una cadena es: char nombre[n]; donde: n >= 1 y representa a la longitud-1 real de la cadena.

Un ejemplo de declaracin de cadena: char cadena [5]; char cadena[] = "Hola"; char cadena[] = {'H','o','l','a',0}; char cadena[] = {'H','o','l','a','\0'}; La biblioteca string tiene una gran cantidad de funciones prcticas para trabajar con cadenas de caracteres. Para utilizarlas debemos de incluir el fichero que define los prototipos de dichas funciones:

#include <string.h> Algunas de las funciones ms importantes son: strlen(<cadena>): Devuelve la longitud de la cadena sin tomar en cuenta el caracter de final de cadena. strcpy(<cadena_destino>, <cadena_origen>) : Copia el contenido de <cadena_origen> en <cadena_destino>. strcat(<cadena_destino>, <cadena_origen>) : Concatena el contenido de <cadena_origen> al final de <cadena_destino>. strcmp(<cadena1>, <cadena2>) : Compara las dos cadenas y devuelve un 0 si las dos cadenas son iguales, un nmero negativo si <cadena1> es menor que (precede alfabticamente a) <cadena2> nmero positivo (mayor que cero) si <cadena1> es mayor que <cadena2>.

Por ejemplo, para mostrar en pantalla un array de caracteres podemos hacerlo dentro de un bucle, desde el primer caracter (indice 0) hasta el ltimo carcter (lo que nos devuelve la funcin strlen): for(i=0; i<strlen(cadena); i++) printf("%c",cadena[i]); Existe una mejor manera de mostrar en pantalla una cadena, y es utilizando el carcter de conversin %s: printf("%s",cadena);

CONCLUSIONES
Los arreglos en c++ son de gran importancia cuando hablamos de almacenamiento de datos en cadenas Con un uno de cadenas o de series almacenamos datos mas rpido y ordenadamente as al momento de usarlas sabremos como ejecutarla e imprimirlos

Fin

Das könnte Ihnen auch gefallen