ARREGLO (Array)
BIDIMENSIONAL
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.
0 Una matriz bidimensional tiene la siguiente forma:




                   a11 a12 .............a1n
                   a21 a22 .............a2n
                   am1 am2 .............amn
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]
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;
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>];
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.
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
0 int a[4][3] =
 {(4,2),(4,0,8),(6),(9,1)};



                  4   2   0

                  4   0   8

                  6   0   0

                  9   1   0
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>];
ARREGLO (Array)
MULTIDIMENSIONAL
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.
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
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
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)
EJEMPLOS
#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");
}
#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");
}
#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");

}
¡GRACIAS POR SU ATENCIÓN!

Arrays Bidimensionales y Multidimensionales - Carlos Correa

  • 2.
  • 3.
    Arreglos Bidimensionales 0 Unarreglo 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 matrizbidimensional tiene la siguiente forma: a11 a12 .............a1n a21 a22 .............a2n am1 am2 .............amn
  • 5.
    Declaración 0 Los arreglosde 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 DeElementos 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 DeElementos 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 unamatriz 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 unamatriz 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
  • 10.
    0 int a[4][3]= {(4,2),(4,0,8),(6),(9,1)}; 4 2 0 4 0 8 6 0 0 9 1 0
  • 11.
    Lectura Y EscrituraDe 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>];
  • 12.
  • 13.
    Arreglos Multidimensionales 0 Esuna 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 arreglosmultidimensionales 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 LosSubí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)
  • 17.
  • 18.
    #include <iostream> using namespacestd; 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 namespacestd; 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"); }
  • 21.
    ¡GRACIAS POR SUATENCIÓN!