Estos tambien son llamados Arreglos Multidimensionales, tanton en C++ como en C# pueden tener multiples subindices.Un uso comun es la representacion de tablas de valores que consisten en informacion ordenada en filas y columnas.Para identificar un elemento en particular de una tabla, debemos especificar dos subindices:El primero (por convencion) identificar la fila del elemento y el segundo(tambien por convencion), su columna.
Las tablas o arreglos que requieren de dos subindices para identificar un elemento en particular se llama arreglo de doble subindice. Note que los arreglos de multiple subindice pueden tener mas de dos subindices.
C# se aleja significativamente de C++ en lo que respecta a los arrays multidimensionales, dado que C# soportatanto arrays rectangulares como rasgados.
Un array rectangular es una verdadera rejilla de elementos. En C#, esto se indica mediante una sintaxis en laque las comas separan la cantidad de elementos de cada dimensión o rango. Por ejemplo, un array rectangular de dos dimensiones podría definirse de la siguiente forma:
int [,] MyArray2d;
MyArray2d = new int[2,3] { {1, 0}, {3, 6}, {9, 12} }; // C#
Esta sintaxis no es más que una extensión bastante intuitiva de la sintaxis para los arrays de una dimensión. La lista de inicialización en el código anterior podría estar ausente. Por ejemplo:
int [,,] MyArray3d = new int[2,3,2]; // C#
Esto hará que el constructor por defecto sea llamado para cada elemento, inicializando cada int a cero. En este ejemplo particular, estamos ilustrando la creación de un array de tres dimensiones. La cantidad total de elementos en el array es de 2 x 3 x 2 = 12. La característica básica de los arrays rectangulares es que cada filatiene la misma cantidad de elementos.
A los elementos de arrays rectangulares se accede utilizando una sintaxis similar:
int X = MyArray3d[1,2,0] + MyArray2d[0,1]; //C#
Los arrays rectangulares de C# no tienen contrapartida directa en C++. Los arrays rasgados de C#, sinembargo, se corresponden bastante directamente con los arrays multidimensionales de C++. Por ejemplo, siUd. declara el siguiente array en C++:
int MyCppArray[3][5]; //C++
Lo que está declarando no es un array de 3x5, sino un array de arrays – un array de tamaño 3, cada uno decuyos elementos es a su vez un array de tamaño 5. Esto se ve más claramente en el caso de un array alojado enmemoria dinámica. En ese caso deberíamos escribir:
int pMyCppArray = new int[3];
for (int i=0 ; i<3> ; i++)
pMyCppArray[i] = new int[5]; //C++
Debe quedar claro de este código que no hay razón alguna para que cada fila contenga la misma cantidad de elementos (aunque eso es lo que ocurre en el ejemplo). Como ejemplo de array rasgado en C++, que realmentecontiene una cantidad de elementos diferente en cada fila, podríamos escribir:
int pMyCppArray = new int[3];
for (int i=0 ; i<3> ; i++)
pMyCppArray[i] = new int[2*i + 2]; //C++
Las filas respectivas de este array tienen dimensiones 2, 4 y 6.C# obtiene el mismo resultado de un modo muy similar, aunque en el caso de C#, la sintaxis indica la cantidadde dimensiones de forma más explícita:
int [][] MyJaggedArray = new int[3][];
for (int i=0 ; <3> ; i++)
MyJaggedArray[i] = new int[2*i + 2]; //C#
Para el acceso a los elementos de un array rasgado se utiliza la misma sintaxis que en C++:
int X = MyJaggedArray[1][3];
Aquí hemos mostrado un array rasgado de rango 2. Sin embargo, del mismo modo que en C++, Ud. puededefinir un array rasgado con tantas dimensiones como desee – sólo tiene que añadir más corchetes a ladefinición.
para C++ seri asi :foto + grande
para C# seri asi:foto + grande
Nota : Como anecdota hoy aposte en el partido del Barcelna vrs chelsea 2009 UEFA por supesto nunca conte con un empate {0-0},so el pozo de apuestas se hizo mas grande.. que eperar.(nervios++) .....ojala gane el el barca [por siempre ForCa Barca]...jjaja
Instalando PHP 8 y Composer 2 en Windows
Hace 3 años
No hay comentarios:
Publicar un comentario