UNIDAD 3: PROGRAMACION VISUAL C# ARREGLOS

TEMA 5: VISUAL WEB DEVELOPER 2005 C# ARREGLOS IRREGULARES ( JAGGED )

Hasta ahora listas y tablas son conocidos como arreglos o matrices rectangulares, sin embargo la tecnologia microsoft net ofrece un nuevo tipo de arreglos, denominados arreglos irregulares ( jagged ).

Este tipo de arreglo es un arreglo de arreglos pero cada arreglo puede ser de difrente tamano es decir a veces en problemas especiales se puede ocupar una matriz, cuadro, tabla o concentrado donde el tamano de cada renglon sea DIFERENTE.

Para declarar un arreglo irregular se usara el siguiente formato:

Tipodato[][] nomarreglo=new tipodato[cant reng][];

Ej; int[][] tabla=new int[3][];

Observar los cambios en la declaracion en cuanto un arreglo de tipo tabla normal, es decir ahora son dos corchetes y no llevan la coma dentro de ellos.

Para procesar los elementos, de un arreglo irregular, se debera ahora manejar dos corchetes, no uno con dos indices como se realizo en tablas rectangulares.

La pobre gente de c++ usan este metodo para procesar tablas, menuda sorpresa les espera con VISUAL C#.

Observar en la declaracion que ya se determino la cantidad de renglones que tendra el arreglo irregular pero no se ha determinado el tamano de cada uno de los renglones, para realizar esto se debera incluir en la declaracion del arreglo irregular, una definicion de cada renglon usando el siguiente formato:

nomarreglo[reng]=new tipodato[cant de columnas];

ejemplo completo de declaracion;

int[][] tabla=new int[3][];

tabla[0]= new int[5]; tabla[1]= new int[2]; tabla[2]= new int[3];

Para este caso se tiene un arreglo de tres renglones, pero el primer renglon tendra 5 columnas o elementos, el segundo renglon tendra 2 columnas o elementos y el tercer rnglon tendra 3 columnas o elementos, en total el arreglo irregular contendra 5+2+3=10 elementos.

Para realizar procesos se deberan usar tantos ciclos for (columnas) como renglones tenga el arreglo y se puede manejar como constante el renglon en cada ciclo, como lo muestra el ejemplo;

PROGRAMA

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
// creando el arreglo iregular de tres renglones
int[][] tabla = new int[3][];
// creando y cargando los tres renglones pero de diferente tamano
tabla[0] = new int[4]; tabla[1] = new int[2]; tabla[2] = new int[5];
//inicializando renglones
// tambien puede ser uno a uno pero son 4 + 2 + 5=11 datos
for (int col = 0; col <= 3; col++) tabla[0][col] = 10;
for (int col = 0; col <= 1; col++) tabla[1][col] = 20;
for (int col = 0; col <= 4; col++) tabla[2][col] = 30;
// para procesar cada renglon usar el metodo de arriba ejemplo // sumar 2 al primer renglon, 3 al segundo renglon y 4 al tercer renglon
for (int col = 0; col <= 3; col++) tabla[0][col] = tabla[0][col] + 2;
for (int col = 0; col <= 1; col++) tabla[1][col] = tabla[1][col] + 3;
for (int col = 0; col <= 4; col++) tabla[2][col] = tabla[2][col] + 4;
// para desplegar usar el mismo metodo
string temp = "";
for (int col = 0; col <= 3; col++)
temp = temp + (tabla[0][col]).ToString() + "..";
LISTA.Items.Add(temp); temp = " ";
for (int col = 0; col <= 1; col++)
temp = temp + (tabla[1][col]).ToString() + "..";
LISTA.Items.Add(temp); temp = " ";
for (int col = 0; col <= 4; col++)
temp = temp + (tabla[2][col]).ToString() + "..";
LISTA.Items.Add(temp); temp = " ";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ARREGLOS</title>
</head>
<body>
<form id="form1" runat="server">
&nbsp;<BR>
<asp:ListBox ID=LISTA runat="server" Width="178px"></asp:ListBox>
<asp:Button ID=Button1 runat="server" OnClick="Button1_Click" Text="Button" />
</form>
</body>
</html>

Observar como se manipulan ahora los elementos con el formato tabla [reng][col].

Corrida:

image470.jpg

TAREAS PROGRAMACION VISUAL WEB DEVELOPER 2005 C#

1.- Construir un par de tablas irregulares con algunos procesos.

Politica de Privacidad