ICIN 051 Programación de Computadores Semestre 01/2006 Oscar Mapocho Salazar Cerna
[email protected]
Clase 8: Arreglos
Instituto de Computación - Universidad Austral de Chile - Campus Puerto Montt
Un arreglo
Una variable que permite almacenar un conjunto de datos del mismo tipo Unidimensional:
Organizado en una sola columna Vector
Bidimensional Jagged
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
¿Cómo se declaran arreglos simples?
Declaración del arreglo:
Instanciación del arreglo:
tipo[] variable; variable= new tipo[dimensión];
Ejemplos:
int[] intArray; intArray= new int[5]; double[] aNota= new double[10]; string[] aNombres= new string[3];
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
Se puede inicializar “altiro”
Se usan las llaves: {…} cuando se instancia Por ejemplo:
int[] intArray; intArray = new int[3]{0, 1, 2}; double[] aNotas= new double[3]{2.5, 3.2, 6.8}; string[] strArray = new string[5] {“Juan", “Pedro", “Susana", “Max”, “Sandra”}; int[] aNumeros= new int[]{2,7,45,3};
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
¿Cómo accedo a un elemento?
Usando arreglo[indice] Donde índice va desde 0 a largo de arreglo-1
int[] aNumeros= new int[]{2,7,45,3}; aNumeros[2] tiene el valor 7
¿Cómo lo recorro?
Típicamente utilizando un for
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
Ejemplo de arreglo básico using System; namespace ArraysSamp { class ejemplo_arreglo_simple { static void Main(string[] args) { double[] aNotas = new double[100]; int catidad_notas, i; Console.Write("Cuantas notas ingresará: "); catidad_notas= Convert.ToInt32(Console.Readline()); for(i=0; i
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
Ejercicios
Modificar el ejercicio anterior para obtener:
La suma del arreglo for(i=0; i
El promedio del arreglo
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
Ejemplo con arreglo de string using System; using System.Collections.Generic; namespace arreglo_unidimensional_palabras { class MainClass { public static void Main(string[] args) { const int max_cantidad_palabras= 1000; string[] aPalabras = new string[max_cantidad_palabras]; string palabra; int cantidad_palabras= 0; do { Console.Write("Ingrese palabra: "); palabra= Console.ReadLine(); if (palabra != "") { aPalabras[cantidad_palabras++]= palabra; } } while ((cantidad_palabras<max_cantidad_palabras) && (palabra != "")); Console.WriteLine("Las palabras ingresadas fueron: "); // Ahora recorro el arreglo para mostrarlo en pantalla for(int i=0; i
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
Arreglo Bidimensional
Columnas
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
Filas
2 dimensiones Columnas y filas Se llama muchas veces matriz
¿Cómo se declara e instancia?
Se declara:
Se instancia:
tipo [,] variable; variable= new tipo[n,m];
Ejemplos:
int[,] aNumeros = new int[3,2] { {1,2}, {3,4}, {5,6} }; string[,] aNombres = new string[2,2] { {“Rosa",“Ana"}, {“Pedro",“Alberto"} }; int[,] aNumeros = new int[,] { {1,2}, {3,4}, {5,6} }; string[,] aNombres = new string[,] { {“Rosa",“Ana"}, {“Pedro","Alberto"} }; int[,] aNumeros = { {1,2}, {3,4}, {5,6} }; string[,] aNombres= { {“Rosa", “Ana"}, {"Pedro", "Alberto"} };
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt
¿Cómo accedo a un elemento?
Usando arreglo[indice,indice] Donde índice va desde 0 al numero de columnas/filas menos-1
int[,] aNumeros= new int[]{1,2,3},{4,5,6}}; aNumeros[0,0] tiene el valor 1 aNumeros[0,2] tiene el valor 3 aNumeros[1,2] tiene el valor 6 aNumeros[2,2] no existe
¿Cómo lo recorro?
Típicamente también utilizando un for
Material para módulo “ICIN 051 – Programación de Computadores” Departamento de Ingeniería Industrial - Universidad Austral de Chile – Campus Puerto Montt