Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

UNIVERSIDAD TEGNOLOGICA DE PANAMA

CENTRO REGIONAL DE COCLE

FACULTAD DE INGIENERIA ELECTRICA


INGINERIA ELECTRICA Y TELECOMUNICACIONES
Programación

Tema
Arreglos Multidimensionales

Presentado Por
Enrique Oses
Nelson Arauz
Jairo Ojo
Deivis Rodríguez
Carlos Castillo
Dionisio

.Profesora
Yamileth Quezada

Código De Asignatura
0862
Fecha De Entrega
19 De Junio Del 2019
Arreglos Multidimensionales

Es una estructura de datos estática 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 también conocidos como matrices. Por lo tanto se llama matriz de orden "m×n"
a un conjunto rectangular de elementos dispuestos en filas "m" y en columnas "n", siendo m y n números
naturales. Las matrices se denotan con letras mayúsculas: A, B, C, ... y los elementos de las mismas con
letras minúsculas y subíndices que indican el lugar ocupado: a, b, c, ... Un elemento genérico que ocupe la
fila i y la columna j se escribe i,j. Si el elemento genérico aparece entre paréntesis también representa a
toda la matriz: A (i,j).

Una matriz de orden 3x4 se muestra a continuación, siendo M una matriz de 3 filas y 4 columnas, la
representación gráfica de sus posiciones sería la siguiente:
M 3x4 Filas = 3, columnas =
4

columnas
c0 c1 c2 c3
f0 m[f0, c0] m[f0,c1] m[f0,c2] m[f0,c3] filas
f1
m[f1,c0] m[f1,c1] m[f1,c2] m[f1,c3]
f2
m[f2,c0] m[f2,c1] m[f2,c2] m[f2,c3]

Matrices cuadradas
Una matriz cuadrada es una matriz que tiene el mismo número de filas y columnas. La matriz que se
muestra a continuación es de orden 3x3.

Declaración de arreglos multidimensionales

La sintaxis es la siguiente:

tipo_dato identificador [dimensión1] [dimensión2] ... [dimensiónN] ; Donde N es un número natural


positivo.

Ejemplo Arreglo de dos dimensiones de orden 2x3.

char m[2][3] ;
c0 c1 c2
f0 a x w f1
b y 10

Declaración
char m[2][3]; // forma una tabla de dos filas y tres columnas
// cada fila es un arreglo de una dimensión
// la declaración indica que hay dos arreglos de una dimensión
Nombre del grupo
m → indica la localización del grupo en la memoria
Nombre de las filas

m[0] → primera fila → indica la


localización de la fila dentro del grupo

m[1]
→ segunda fila → indica la
localización de la fila dentro del
grupo

Nombre de los elementos

m[0][0] → primer elemento m[0][0] m[0][1] m[0][2]


m[0][1] → segundo m[1][0] m[1][1] m[1][2]
elemento
m[0][2] → tercer elemento
m[1][0] → cuarto elemento
m[1][1] → quinto elemento
m[1][2] → sexto elemento
Haciendo referencia a algunos elementos obtendríamos lo siguiente:
• m[0][0] = a
• m[1][1] = y
• m[1][2] = 10
• m[0][2] = w
Operaciones con arreglos multidimensionales

En matemáticas, una matriz es una tabla de números consistente en cantidades abstractas que pueden
sumarse y multiplicarse. Las matrices se utilizan para describir sistemas de ecuaciones lineales, realizar
un seguimiento de los coeficientes de una aplicación lineal y registrar los datos que dependen de varios
parámetros. Pueden sumarse, multiplicarse y descomponerse de varias formas, lo que también las hace
un concepto clave en el campo del álgebra lineal. Las matrices son utilizadas ampliamente en la
computación, por su facilidad para manipular información. En este contexto, son la mejor forma para
representar grafos, y son muy utilizadas en el cálculo numérico.

Propiedades
* Asociativa
Dadas las matrices m×n A, B y C
A + (B + C) = (A + B) + C

* Conmutativa
Dadas las matrices m×n A y B
A+B=B+A

* Existencia de matriz cero o matriz nula A+0=0+A=A

* Existencia de matriz opuesta con -A = [-aij]

A + (-A) = 0

Suma y resta
Los arreglos deben tener el mismo orden y la suma se realiza elemento a elemento. Por ejemplo sean A,B
y C arreglos de números punto flotante de orden 2x3. Entonces la operación C = A+B sería:

C = A + B
c00=a00+b00 c01=a01+b01 c02=a02+b02 a00 a01 a02 b00 b01 b02

c10=a10+b10 c11=a11+b11 c12=a12+b12 = a10 a11 a12 + b10 b11 b12


c20=a20+b20 c21=a21+b21 c22=a22+b22 a20 a21 a22 b20 b21 b22
/*Extracto de código fuente*/ float
A[3][3],B[3][3],C[3][3];

for (int i=0;i<2;++)


{ for (int j=0;j<3;j++)
{
A[i][j] = (2*i+1)/3; // Asignación de valores para el arreglo A
B[i][j] = 2*j; // Asignación de valores para el arreglo B
C[i][j]=A[i][j]+B[i][j]; // Asignación de valores para el arreglo C
}

Producto por un escalar

Dada una matriz A y un escalar c, su producto cA se calcula multiplicando el escalar por cada elemento de
A (i.e. (cA)[i, j] = cA[i, j] ).

Ejemplo

Propiedades

Sean A y B matrices y c y d escalares.

* Clausura: Si A es matriz y c es escalar, entonces cA es matriz.


* Asociatividad: (cd)A = c(dA) * Elemento Neutro: 1·A = A *
Distributividad: o De escalar: c(A+B) = cA+cB o De matriz:
(c+d)A = cA+dA

Ejemplo de producto de un escalar por una matriz


Realizar la operación M=2*S donde M y S son arreglos de dimensión dos de orden 2x2.

M = 2 * S

m00=2*s00 m10=2*s10 s00 s01

m01=2*s01 m11=2*s11 = 2 * s10 s11


/*Extracto de código fuente*/ float
M[2][2], S[2][2]; for (int
i=0;i<2;++)
{ for (int j=0;j<2;j++)
{
S[i][j] = i+j; // Asignación de valores para el arreglo S
M[i][j]=2*S[i][j]; // Asignación de valores para el arreglo M
}
}

Producto de matrices

El producto de dos matrices se puede definir sólo si el número de columnas de la matriz izquierda es el
mismo que el número de filas de la matriz derecha. Si A es una matriz m×n y B es una matriz n×p,
entonces su producto matricial AB es la matriz m×p (m filas, p columnas) dada por:

(AB)[i,j] = A[i,1] B[1,j] + A[i,2] B[2,j] + ... + A[i,n] B[n,j] para cada par i y j.

Por ejemplo:
Arreglos de caracteres multidimensionales

Los arreglos de cadenas, que a menudo se conocen como tablas de cadenas son comunes en la
programación en C++. Una tabla de cadenas de dos dimensiones es creada como otro cualquier arreglo
de dos dimensiones. No obstante, la forma como se conceptualizará será levemente diferente. Por
ejemplo:

char nombres[10][50]

Leidys\0

Henry\0

Luis\0

Alexis\0

José\0

Estrella\0

Alberto\0

Ducyelis\0

Angel\0

Joan\0
Esta sentencia especifica una tabla que puede contener hasta de 10 cadenas, cada una de hasta 50
caracteres de longitud (incluyendo el carácter de fin de cadena). Para acceder a una cadena dentro de la
tabla se especifica solamente el primer índice. Por ejemplo para introducir una cadena desde el teclado
en la tercera cadena de nombres, se utilizaría la siguiente sentencia: gets(nombres[2]);

De la misma manera, para dar salida a la primera cadena se utilizaría la sentencia


cout<<nombres[0]; Obteniendo Leidys cout<<nombres[5];
Obteniendo Estrella

La declaración que sigue crea una tabla de tres dimensiones con tres listas de cadenas. Cada lista tiene
cinco cadenas de longitud, y cada cadena puede almacenar 80 caracteres. char animales[2][5][80];

Para acceder a una cadena concreta en este caso, debe especificar las primeras dos dimensiones. Por
ejemplo, para acceder a la segunda cadena de la tercera lista especifique animales[2][1]. En el siguiente
ejemplo se utilizan dos listas (nombres y apellidos) con capacidad de almacenar 5 cadenas de 30
caracteres cada una.
Inicialización de arreglos en C++

Tal como a otros tipos de variables, puede darle valores iniciales a los elementos de una arreglo. Esto se
consigue especificando una lista de valores que tendrán los elementos del arreglo. tipo_dato identificador
[tamaño] ={lista de valores};
La lista de valores es un conjunto de valores separados por comas que son de un tipo de dato compatible
con el tipo de dato del arreglo. La primera constante será colocada en la primera posición del arreglo, la
segunda constante en la segunda posición, y así sucesivamente . Por ejemplo: int mem[6] = {1,0,-
3,24,15,1};
Esto significa que men[0] tendrá el valor de 1, y que men[4] tendrá el valor de 15. Para la inicialización de
arreglos de caracteres existen dos maneras. Si el arreglo no tiene una cadena terminada en nulo,
simplemente especifique cada carácter usando una lista separada por comas como se muestra a
continuación: char letras[3] = {'A','B','C'}
Si el arreglo va a contener una cadena, puede inicializar el arreglo usando una cadena encerrada entre
comillas, tal como se muestra. char nombre[4] = “ABC”;
Los arreglos de múltiples dimensiones son inicializados de la misma manera que los de una dimensión.
Ejemplo 1.

Algoritmo Arreglos_Bi

Dimensión países[3,4]

paises [1,1] <- "México"

países [2,1] <- "Argentina"

paises [3,11 <- "Colombia"

paises[1,2] <- "Ciudad Juárez"

paises [2,2] <- "Buenos Aires"

paises [3,2] <- "Bogotá"

paises [1,31 <- "Monterrey"

paises [2,3] <- "Córdoba"

paises [3,3] <- "Cali"

paises [1,4] <-"Guadalajara"

paises [2,41 <- "La plata"

paises [3,41<- "Barranquilla"

FinAlgoritmo
Ejemplo 2.

Proceso Dinension_2
Dimensión trabajo [5,0
Para empleado -1 hasta 5 Hacer
Para nes-1 Hasta 3 Hacer
Escribir "Digite cantidad vendida por el empleado ",empleado
Leer trabajo [empleado ,mes]
FinPara
FinPara
Para enpleado-1 hasta 5 Hacer
Para ne-1 Hasta a 3 Hacer
, nes,, trabajo (empleado ,mes]
Escribir 'La cantidad vendida por el empleado ', empleado," en el
FinPara
FinPara
FinProceso
Ejemplo 3.
Proceso Prueba

definir num, columna, fila como entero;


dimensión num[3,3];

Para columna<-1 Hasta 3 Con Paso 1 Hacer


Para fila<-1 Hasta 3 Con Paso 1 Hacer
escribir "Introduce el valor de la columna ",columna," y ",fila;
leer num[columna,fila];
FinPara
FinPara

Para columna<-1 Hasta 3 Con Paso 1 Hacer


Para fila<-1 Hasta 3 Con Paso 1 Hacer
escribir "En la columna ",columna," y fila ",fila," es ",num[columna,fila];
FinPara
FinPara
FinProceso
Bibliografía

• Schildt Herbert, C++ Para programadores. McGraw-Hill. 1996.


• http://es.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)

También podría gustarte