5
3. Arrays, estructuras y cadenas de texto 3.1 Conceptos Básicos: Array: Una tabla, vector, matriz o array es un conjunto de elementos, todos los cuales son del mismo tipo. Todos estos elementos tendrán el mismo nombre, y ocuparán un espacio contiguo en la memoria. Por ejemplo, si queremos definir un grupo de números enteros, el tipo de datos que usaremos para declararlo será "int[]". Si sabemos desde el principio cuantos datos tenemos (por ejemplo 4), les reservaremos espacio con "= new int[4]", así int[] ejemplo = new int[4]; Podemos acceder a cada uno de los valores individuales indicando su nombre (ejemplo) y el número de elemento que nos interesa, pero con una precaución: se empieza a numerar desde 0, así que en el caso anterior tendríamos 4 elementos, que serían ejemplo[0], ejemplo[1], ejemplo[2], ejemplo[3]. Ejemplo: using System; public class EjemploArray01 { public static void Main() { int[] numero = new int[5]; int suma; numero[0] = 200; numero[1] = 150; numero[2] = 100; numero[3] = -50; numero[4] = 300; suma = numero[0] + numero[1] + numero[2] + numero[3] + numero[4]; System.Console.WriteLine("Su suma es:", suma); } } Recorriendo los elementos de una tabla Es de esperar que exista una forma más cómoda de acceder a varios elementos de un array, sin tener siempre que repetirlos todos, como hemos hecho en: suma = numero[0] + numero[1] + numero[2] + numero[3] + numero[4];

02. Arrays (1)

Embed Size (px)

DESCRIPTION

dfghjk

Citation preview

  • 3. Arrays, estructuras y cadenas de texto 3.1 Conceptos Bsicos:

    Array: Una tabla, vector, matriz o array es un conjunto de elementos, todos los cuales son del mismo tipo. Todos estos elementos tendrn el mismo nombre, y ocuparn un espacio contiguo en la memoria. Por ejemplo, si queremos definir un grupo de nmeros enteros, el tipo de datos que usaremos para declararlo ser "int[]". Si sabemos desde el principio cuantos datos tenemos (por ejemplo 4), les reservaremos espacio con "= new int[4]", as

    int[] ejemplo = new int[4];

    Podemos acceder a cada uno de los valores individuales indicando su nombre (ejemplo) y el nmero de elemento que nos interesa, pero con una precaucin: se empieza a numerar desde 0, as que en el caso anterior tendramos 4 elementos, que seran ejemplo[0], ejemplo[1], ejemplo[2], ejemplo[3].

    Ejemplo: using System; public class EjemploArray01 {

    public static void Main() {

    int[] numero = new int[5]; int suma; numero[0] = 200; numero[1] = 150; numero[2] = 100; numero[3] = -50; numero[4] = 300; suma = numero[0] + numero[1] + numero[2] + numero[3] + numero[4]; System.Console.WriteLine("Su suma es:", suma);

    } }

    Recorriendo los elementos de una tabla Es de esperar que exista una forma ms cmoda de acceder a varios elementos de un array, sin tener siempre que repetirlos todos, como hemos hecho en:

    suma = numero[0] + numero[1] + numero[2] + numero[3] + numero[4];

  • El "truco" consistir en emplear cualquiera de las estructuras repetitivas que ya hemos visto (while, do..while, for), por ejemplo as: suma = 0; /* Valor inicial de la suma */ for (i=0; i
  • datosAlumnos[1,i] son los del segundo grupo. Ejemplo: using System; public class Ejemplo37 {

    public static void Main() {

    int[,] notas1 = new int[2,2]; // 2 bloques de 2 datos notas1[0,0] = 1; notas1[0,1] = 2; notas1[1,0] = 3; notas1[1,1] = 4; int[,] notas2 = // 2 bloques de 10 datos { {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {11, 12, 13, 14, 15, 16, 17, 18, 19, 20} }; Console.WriteLine("La nota1 del segundo alumno del grupo 1 es:", notas1[0,1]); Console.WriteLine("La nota2 del tercer alumno del grupo 1 es:", notas2[0,2]);

    } } Este tipo de tablas de varias dimensiones son las que se usan tambin para guardar matrices, cuando se trata de resolver problemas matemticos ms complejos que los que hemos visto hasta ahora.

    3.3 Arrays Multidimensionales

    Son aquellos que constan de dos o ms dimensiones, es decir, que cada elemento del

    array viene definido por dos o ms ndices.

    Declaracin de un array multidimensional:

    tipo[,,] variable; // array tridimensional

    Ejemplo:

    Array bidimensional que se utiliza para almacenar una lista de alumnos por aula, esto

    es, tenemos dos aulas (el primer ndice del array sera 3) y cuatro alumnos en cada una

    (el segundo ndice sera 4).

    string[,] alumnos = new string[3,4];

    El almacenamiento de los datos sera as:

    alumnos[0,0]=Mario;

  • alumnos[0,1]=Juan;

    alumnos[0,2]=Rosa;

    alumnos[0,3]=Ana;

    alumnos[1,0]=Luis;

    alumnos[1,1]=Jorge;

    alumnos[1,2]=Maria;

    alumnos[1,3]=Laura;

    alumnos[2,0]=Manuel;

    alumnos[2,1]=Victor;

    alumnos[2,2]=Liliana;

    alumnos[2,3]=Carmen;

    Esto sera como almacenar los datos es esta tabla:

    AULA 0 AULA 1 AULA 3

    NOMBRE 0 Mario Luis Manuel

    NOMBRE 1 Juan Jorge Vctor

    NOMBRE 2 Rosa Mara Liliana

    NOMBRE 3 Ana Laura Carmen

    Nota: Las tablas bidimensionales se incluyen dentro de este grupo

    3.4 Arrays de Arrays

    La otra forma de tener arrays multidimensionales son los "arrays de arrays", que como veremos en este ejemplo, un arreglo pueden tener elementos (arreglos) de distinto tamao. En ese caso nos puede interesar saber su longitud, para lo que podemos usar "a.Length": Ejemplo: using System; public class Ejemplo38 {

    public static void Main()

  • { int[][] notas; // Array de dos dimensiones notas = new int[3][]; // Seran 3 bloques de datos notas[0] = new int[10]; // 10 notas en un grupo notas[1] = new int[15]; // 15 notas en otro grupo notas[2] = new int[12]; // 12 notas en el ultimo // Damos valores de ejemplo for (int i=0;i