PDF de programación - Mdulo 5: Arreglos Multidimensionales

Imágen de pdf Mdulo 5: Arreglos Multidimensionales

Mdulo 5: Arreglos Multidimensionalesgráfica de visualizaciones

Publicado el 28 de Febrero del 2019
651 visualizaciones desde el 28 de Febrero del 2019
37,4 KB
4 paginas
Creado hace 16a (27/06/2007)
Módulo 5: Arreglos

2. Arreglos
Multidimensionales


Declaración de arreglos multidimensionales

En C++ es posible tener arreglos multidimensionales. Para definir un arreglo
multidimensional utiliza el siguiente formato:

tipo Nom_var[tam1][tam2]?[tamN];

y para accesar un elemento de un arreglo multidimensional se utiliza:

Nom_var[sub1][sub2]?[subN];

Nota que cada subíndice se encierra en un par de corchetes([ ]).

El uso más común de los arreglos multidimensionales es para representar arreglos de 2
dimensiones o tablas, en donde los datos

están acomodados por renglones y columnas. Por convensión el primer subíndice se refiere
a los renglones y el segundo a las

columnas.

Por ejemplo podemos definir un arreglo de elementos enteros de 2 dimensiones con 3
renglones y 4 columnas usando la siguiente

instrucción:

int lista[3][4];

y por ejemplo para accesar el elemento que se encuentra en el renglón 0 y la columna 2 de
este arreglo utilizamos la variable:

lista[0][2];

Aunque no es muy común, también podemos definir arreglos de más de 2 dimensiones, por
ejemplo, podemos definir un arreglo de

elementos enteros de 3 dimensiones con 4 renglones, 3 columnas y 2 niveles de
profundidad usando la siguiente línea.

int cubo[4][3][2];


También es posible declarar el arreglo declarando primero un tipo con typedef de la
siguiente forma:

typedef tipo nombre_tipo[tamaño1][tamaño2]; // declaración del tipo

nombre_tipo Nombre_variable; // declaración de la variable de tipo arreglo

Por ejemplo:

typedef double tabla[8][4];

tabla lista;

En este caso se declara el tipo de dato tabla que es un arreglo de 2 dimensiones de
elementos de tipo double, cuyos subíndices

van del valor 0 al 7 y del 0 al 3. En el segundo renglón de la declaración se declara el
arreglo del tipo tabla.


En C++ un arreglo de 2 dimensiones es en realidad un arreglo de arreglos. Por ejemplo si
declaramos el arreglo

int arr[10][5];

en realidad estamos declarando un arreglo de 10 elementos, cuyos elementos son arreglos
de 5 elementos de tipo entero. Este es

la manera en que internamente se maneja el arreglo y el programador no tendría porque
enterarse de ello; aquí lo mencionamos

porque esto nos ayudará a entender algunas características de los arreglos de 2
dimensiones.



Inicializar arreglos en la declaración

Cuando se requiere inicializar en la declaración un arreglo de 2 dimensiones es útil recordar
que en C++ internamente un arreglo de

dos dimensiones es un arreglo de arreglos, entonces se debe dar el valor para cada uno de
los arreglos (como una lista de

elementos encerrados entre llaves y separados por comas) como se muestra en el siguiente
ejemplo:

int lista[3][2] = {{1,2},{3,4},{5,6}};


Ejemplo:

// Programa que encuentra el valor mayor de la matriz, y ademas dice
// en que renglon y en que columna se encuentra dicho valor.
#include <iostream.h>

typedef int Matriz[20][20];


int main()
{
Matriz A; // Variable de tipo arreglo de 2 dimensiones
int N, M; // Dimensiones de la matriz
int ren, col; // variables auxiliares para las búsquedas
int mayor; // variable en la que se guardará el valor mayor
int renM, colM; // variables que guardarán el reng y la col en las
// que se encontró el valor mayor

cout<<"Cuantos renglones tiene la matriz? ";
cin>>N;
cout<<"Cuantas columnas tiene la matriz? ";
cin>>M;

// pide los datos para la matriz
for (ren=0; ren < N; ren++)
for (col=0; col < M; col++)
{
cout<<"Teclea el valor para el elemento "<<ren<<","<<col<<" ";
cin>>A[ren][col];
}

// muestra la matriz
for (ren=0; ren<N; ren++)
{
for (col=0; col<M; col++)
cout<<A[ren][col]<<"\t";
cout<<endl;
}

//Busca el valor mayor de la matriz

mayor = A[0][0];
renM = 0;
colM = 0;
for (ren = 0; ren < N; ren++)
for (col = 0; col < M; col++)
if (A[ren][col] > mayor)
{
mayor = A[ren][col];
renM = ren;
colM = col;
}
cout<<"El valor mayor es "<<A[renM][colM]<<endl;
cout<<"y se encuentra en las posiciones "<<endl;
cout<<"renglon "<<renM<<" y columna "<<colM<<endl;

return 0;
}

Ejercicio

Realiza un programa que pida al usuario las dimensiones deseadas para un arreglo de dos dimensiones y luego le
pida los datos para

llenar el arreglo. Después el programa debe dar la opción de calcular la suma de cualquier renglón o columna del
arreglo. Tu

programa debe trabajar con arreglos que tengan como cantidad máxima de renglones y/o columnas 10. ver
solución


Ligas sugeridas

http://www.cplusplus.com/doc/tutorial/

http://www.cs.wustl.edu/~schmidt/C++/

Regresar

Siguiente módulo
  • Links de descarga
http://lwp-l.com/pdf15373

Comentarios de: Mdulo 5: Arreglos Multidimensionales (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad