Estrctura de Datos
Click here to load reader
-
Upload
luis-cabrera -
Category
Engineering
-
view
79 -
download
4
Transcript of Estrctura de Datos
ESTRUCTURA DE DATOS
(ARREGLOS)II PARTE
Luis Cabrera
María del Cisne Mosquera
Andrés Vargas
FUNDAMENTOS DE LA PROGRAMACIÓN
Arrays De Varias Dimensiones
Existen grupos de datos que son representados mejor en forma de tabla o matriz con dos o más subíndices.
A los arrays no unidimensionales los dividiremos en dos grandes grupos:Arrays Bidimensionales (Dos dimensiones)Arrays Multidimensionales (Tres o mas
dimensiones)
Arreglos Bidimensionales (Matrices/Tablas)
Es un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesita especificar dos subíndices para poder identificar cada elemento del array . El array bidimensional es un conjunto de arrays unidimensionales
Una matriz bidimensional tiene la siguiente forma:
a11 a12 ……………….. a1n
a21 a22 ……………….. a2n
am1 am2 ……………….. amn
8 6 2 3 1 2
2 1 4 5 6 9
2 5 10 32 12 23
12 25 8 6 10 14
15 18 62 3 21 1
Fila 0
Fila 1
Fila 2
Fila 3
Fila 4C
olum
na 0
Col
umna
1
Col
umna
2
Col
umna
3
Col
umna
4
Col
umna
5
M [3] [4]
Con esto se refiere al elemento de la fila 3 y columna 4 que tiene como valor 10
El diagrama anterior representa una tabla de 30 elementos (5x6) es decir con 5 filas y 6 columnas.
Los elementos de un array bidimensional se referencian con dos subíndices: El primer subíndice se refiere a la fila El segundo subíndice se refiere a la columna
En general se considera que un array dimensional comienza sus subíndices en 0 o en 1 según el lenguaje de programación pero pueden tener limites seleccionados para el usuario durante la codificación del algoritmo
Operaciones con Matrices Generar una matriz Inserción de datos: manualmente y
automáticamente Lectura y escritura de elementos Intercambiar filas y columnas. Operaciones artiméticas con matrices:
suma, resta, multiplicacion
Generar una matriz Sintaxis
<clase de datos del elemento> <nombre del arreglo> [<número de filas>], [<número de columnas>];
La única diferencia entre esta definición y la que se requiere para un arreglo unidimensional se encuentra dentro de la especificación del tamaño. Se debe especificar el tamaño de filas y columnas, como se muestra.
Ejemplo: int a [3] [3] ;
a [0] [0] a [0] [1] a [0] [2]
a [1] [0] a [1] [1] a [1] [2]
a [2] [0] a [2] [1] a [2] [2]
Inserción de datos: manualmente y automáticamente
La inserción de datos en arrays normalmente se realizan con estructuras repetitivas aunque tambien pueden hacerse con estructura selectivas.
Las instrucciones de inserción manual se presenta como:
<nombre del arreglo> [<M>] [<N>] = valor del elemento ;
Las instrucciones de inserción automática usando un ciclo for se presenta como:
for (i=0; i<3; i++)
for (j=0; j<4; j++) {
val [i] [j] = c;
c++;
cout << " " << val [i] [j];
}
Lectura y Escritura de elementos Se puede usar cin para insertar
elementos en arreglos bidimensionales y utilizar enunciados cout para extraer elementos del arreglo:
cin >> <nombre del arreglo> [<M>] [<N>] ;
cout << <nombre del arreglo> [<M>] [<N>] ;
Intercambiar Filas y columnas Intercambia las Filas por las Columnas.
Para realizar este proceso, primero se declara una matriz llamada A que al principio es llenada con normalidad, luego se muestra por pantalla y finalmente se asigna de forma invertida los elementos de la matriz A en la matriz B.
Operaciones artiméticas con matrices: suma, resta, multiplicación Las operaciones suma y resta se pueden
utilizar con arrays de tamaños idénticos, es decir, aquellos que tiene el mismo número de filas y de columnas. La suma, así como la resta, de dos arrays se lleva a cabo sumando o restando sus elementos.
Si A y B son dos matrices, la operación A*B se ejecuta solamente si el número de columnas de la matriz A es igual al número de filas de la matriz B. El resultado es una matriz que tiene el mismo número de filas que A y el mismo número de columnas que B.
Arrays Multidimensionales Un array puede ser definido de 3
dimensiones, 4 dimensiones, hasta n dimensiones.
Estos no se usan por lo común, pero C++ permite que declare cualquier numero de dimensiones. Esto se hace enlistando el tamaño máximo de todas las dimensiones para el arreglo.
Por ejemplo, la declaración int respuesta [4] [10] [6]; declara un arreglo tridimensional. El primer elemento en el arreglo es designado como respuesta [0] [0] [0] y el ultimo elemento respuesta [3] [9] [5]
Conclusiones
18
Referencias:
Bibliográficas LUIS, JOYANES AGUILAR. (2008):
“Fundamentos De Programación: Algoritmos, Estructura de Datos y Objetos.” Mc-Graw Hill. Madrid. Páginas 258-261.
BRONSON, GARY J. (2006): “Declaracion y procesamiento de arreglos bidimensionales”. Thomson. México D.F. Páginas 620-625.