Está en la página 1de 3

ARREGLOS BIDIMENSIONALES

Un arreglo bidimensional es una estructura de datos del mismo tipo, los


cuales se pueden representar como una tabla de filas y columnas, y cuyo
acceso se realiza mediante un par de índices, uno para la fila y otro, para la
columna. Un arreglo dimensional se puede ver como un arreglo de arreglos,
donde cada fila es en verdad un arreglo unidimensional.

Definición y declaración

tipo nombre[filas][columnas];

Ejemplo:

int Tabla[5][4];

Declara a Tabla como un arreglo dimensional de 5 filas y 4 columnas de


datos de tipo int.

Al igual que los arreglos unidimensionaleslos los índices son números


enteros desde el 0 a filas – 1, y desde 0 hasta columnas – 1.

Gráficamente podemos representar un arreglo dimensional de la siguiente


manera:

0 1 2 3
0 21 10 7 2
1 3 6 14 25
2 7 1 18 4
3 15 9 22 13
4 19 5 8 20

Una aclaratoria necesaria: Se utilizan muy frecuentemente los términos


“vectores” y “matrices”, para referirse a los arreglos unidimensionales y
bidimensiionales, respectivamente, pero eso es un error, ya que tales
términos expresan conceptos matemáticos muy precisos. Si bien es cierto
que podemos modelar vectores con arreglos unidimensionales, y matrices
con arreglos bidimensionales, debemos tener claros que los arreglos son
estructuras de datos, con las cuales se pueden manejar cualquier otro tipo de
información además de dichas expresiones matemáticas. Tanto es así que
un arreglo puede almacenar valores alfanuméricos, tales como nombres de
personas o descripción de productos u otros objetos, los cuales no pueden
ser confundidos con vectores o matrices, que solo manejan valores
numéricos.
Ejemplos:

// Declaración de variables
int A[5][5]. B[5][5], C[5][5], D[5][5];

// Crear una matriz identidad en el arreglo A

A 0 1 2 3 4
0 1 0 0 0 0
1 0 1 0 0 0
2 0 0 1 0 0
3 0 0 0 1 0
4 0 0 0 0 1

for (int m = 0; m < 5; m++)


for (int n = 0; n < 5; n++)
if (m == n)
A[m][n] = 1;
else
A[m][n] = 0;

// Crear la siguiente matriz diagonal

B 0 1 2 3 4
0 1 1 1 1 1
1 0 1 1 1 1
2 0 0 1 1 1
3 0 0 0 1 1
4 0 0 0 0 1

for (int m = 0; m < 5; m++)


for (int n = 0; n < 5; n++)
if (m <= n)
B[m][n] = 1;
else
B[m][n] = 0;

// Hallar la traspiesta de C y guardarla en D


for (int m = 0; m < 5; m++)
for (int n = 0; n < 5; n++)
D[m][n] = C[n][m]; // Intercambia filas por columnas
// Llenar el arreglo C con valores aleatorios
srand(time(NULL));
for (int m = 0; m < 5; m++)
for (int n = 0; n < 5; n++)
C[m][n] = rand() % 100;

// Llenar el arreglo E con la suma de las matrices expresadas en los


// arreglos C y D
for (int m = 0; m < 5; m++)
for (int n = 0; n < 5; n++)
E[m][n] = C[m][n] + D[m][n];

Actividades de evaluación

1. Llenar el arreglo E con la multiplicación de las matrices expresadas en los


arreglos C y D

2. Formar una tabla de bingo con un arreglo bidimensional de 5x5, con cada
columna con valores comprendidos en los intervalos correspondientes:
B (columna 0) del 1 al 15
I (columna 1) del 15 al 30
N (columna 2) del 31 al 45
G (columna 3) del 46 al 60
O (columna 4) del 61 al 75

También podría gustarte