3. Arreglos Bidimensionales
0 Un arreglo bidimensional es un array de arrays
unidimensionales.
0 Se puede visualizar a un arreglo bidimensional como
una matriz con filas y columnas. El primer índice
indica la fila y el segundo indica la columna.
0 Ejm:
P=[4][3]
Se refiere al elemento ubicado en la cuarta fila y tercera
columna.
4. 0 Una matriz bidimensional tiene la siguiente forma:
a11 a12 .............a1n
a21 a22 .............a2n
am1 am2 .............amn
5. Declaración
0 Los arreglos de dos dimensiones se declaran de
acuerdo al esquema
<TIPO> <NOMBRE_matriz> [<M>][<N>] ;
0 Ejemplo
int a[4][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]
a [3][0] a [3][1] a [3][2]
6. Inserción Directa De Elementos En Un
Arreglo Bidimensional
<nombre del arreglo> [índice de fila][índice de columna] = valor del elemento;
<nombre del arreglo> [<M>][<N>] = valor del elemento;
7. Extracción Directa De Elementos En Un
Arreglo Bidimensional
<identificador variable> =<nombre del arreglo>[índice de fila][índice de columna];
0 Ejm:
c=a[<M>][<N>];
8. Inicialización de una matriz
0 Se puede declarar e inicializar un arreglo a la misma
vez.
0 Los valores se agrupan por filas entre corchetes.
0 Si no hay suficientes inicializadores para una fila
determinada, los elementos se inicializan a 0.
9. Inicialización de una matriz
0 int a[4][3] =
{(4,2,7),(4,3,8),(6,2,7),(9,1,0)};
4 2 7
4 3 8
6 2 7
9 1 0
11. Lectura Y Escritura De Elementos En
Arreglos Bidimensionales
0 Se puede usar enunciados cin para insertar elementos
en arreglos bidimensionales y utilizar enunciados
cout para extraer elementos del arreglo:
cin >> <NOMBRE_matriz>[<M>][<N>];
cout << <NOMBRE_matriz>[<M>][<N>];
13. Arreglos Multidimensionales
0 Es una estructura de datos estadística y de un mismo
tipo de datos, y de longitud fija que almacena datos de
forma matricial.
0 De igual forma que los arreglos unidimensionales, el
almacenamiento de los datos en la memoria e realiza
en forma secuencial y son accedidos mediante índices.
14. 0 Los arreglos multidimensionales son también
conocidos como tensores.
0 La sintaxis de declaración de arrays
multidimensionales es:
Tipo_dato identificador [dimension1]
[dimension2]…[dimensionN]; //donde N es un numero
natural positivo
15. 0 A = a00 a01
a10 a11
0 B = b00 b01
b10 b11
0 C = c00= a00+b00 c01= a01+b01
c10= a10+b10 c11= a11+b11
16. Límites De Los Subíndices De La Matriz
0 Un array bidimensional, posee límites: superior e
inferior para su número de filas y columnas.
De ahí que:
B(L1:U1,L2:U2)={B[I,J]}
0 L<-Límite inferior ; U<-Límite superior
Donde:
0 L1<=I<=U1;
0 L2<=J<=U2;
0 El número de elementos de la fila es B es: U2-L2+1; y
el número de elementos de la columna B es: U1-L1+1;
0 El número de elementos del array es:
(U2-L2+1)*( U1-L1+1)
18. #include <iostream>
using namespace std;
int main ()
{
// 1 2 3 4
// 5 6 7 8
int A [2][4] = {{1,2,3,4},{5,6,7,8}};
for (int fila = 0; fila<2; fila++)
{
for (int columna = 0; columna<4;
columna++)
cout << A[fila][columna]<<" ";
cout<<endl;
}
system ("Pause>null");
}
19. #include <iostream>
using namespace std;
int main ()
{
// 1 2 3
// 4 5 6
int a [2][3] =
{{1,2,3},{4,5,6}};
cout << a [0][2] <<endl;
system ("Pause>null");
}
20. #include <iostream>
#include <windows.h>
#include <iomanip>
#define fila 3 //Define Limite de 3 filas
#define col 4 //Define Limite de 4 columnas
using namespace std;
int main(){
int A[fila][col]={ {0,1,9,3},{1,2,8,0},{-1,6,4,15}};
for (int i=0;i<fila;i++)
{
cout<<"n";
for (int j=0;j<col;j++)
cout<<setw(2)<<A[i][j]<<"t";
}
system("pause>null");
}