Arreglos y Matrices
Arreglos y Matrices
Son un tipo especi al de variabl es que pueden almacenar tempo ralmen te uno o varios datos
de un mismo
tipo. Una variab le de arreglo o vector puede conten er al mismo tiempo diferen tes valore
s bajo un mismo
nombr e.
Tambi én podem os decir que un arreglo es una estruct ura de datos o un espaci o de memo
ria que permite
almac enar una colecc ión de elemen tos, dados del mismo tipo.
:::»L.
. .
arreglo com o una sec
Podemos imaginarnos a un .
uenc1a contigua de celdas (espacios en memoria) 0
cas il-
se puede gu ard ar u
las, en cada una de las cuales I
n e emento de la colección .
o 2 3 4 5 6 7 8 9
d
arr eg lo de 10 casillas cada util'izar para guardar un
Esta figura rep res en ta un una e 1as cuales se puede
res , etc.
dato como: edades, no mb
illas f
en sió n o tam añ o de un arr eg lo es el nú me ro de cas que Io con arman. Como podemos observar
La dim
n lO.
. de a un arr eg lo de dimensió
la figura an ter ior co rre sp on
ores como: Una lista de
un es en pro gra ma ció n es trabajar con listas de val
Uno de los tra ba jos más com trabajadores de una empresa.
el su pe rm erc ad o o los números de identidad de los
artículos a co mp rar en
ácter destructivo;
pu ed en ma ne jar listas de valores ya que tienen car
tiv o no
Las variables de tip o pri mi ro y mantiene el nuevo.
ble tie ne un val or y se le asigna otro, pierde el prime
ria
esto implica qu e si un a va
hace refer-
Sy stem.A rra y, es una colección de objetos a la cual se
lo se de riv an de
Las variables de tip o arr eg os en un arreglo
ne do r y del índ ice de ubi cación. Los datos almacenad
de l co nte
encia a tra vés de l no mb re s mediante el índice.
mi na r y ha cer ref ere nci a a cada uno de los elemento
eli
se pu ed en buscar, ord en ar,
Y así suce-
ice O, la seg und a tie ne índice 1, la tercera índice 2
l arr eg lo tie ne índ
En C# la pri me r casilla de casilla tiene
en cue nta qu e un arr egl os de dimensión N, la última
nte tom ar
siv am en te . Es mu y im po rta
índice N-1.
Ilustración de un arreglo
.... Casillas
3---r--:-l4:--r-:;-15~1 ~16~1,,-...
2 . - -,-:--
.--,-1- ~ -,-
2 3 4 5
o 1
Indices
ce
de sus casillas se le recono
. bl e de arreglo a cada una con
crea un a vana ramador especificar la casilla
Co mo he mo s ob se rva
°
d o cua n d se
.
.
, d' e, este val or pe rm ite
a 1 pro g
se le de no mi na in ic
po r un nú me ro al qu e
• u1e• n te for ma to ··
ba jar , us an do e 1 s1g
la qu e des ea tra
.
e] 1
No mb re_ de _a rre glo [ín dic e indica la casilla con a
·able e índice es un val or qu
bre de 1a van
eg lo, es e 1 no m
En do nd e no mb re de arr
cada ins tan te. Eje mp lo:
qu e se desea tra ba jar ~n . . , n ha cie nd o referencia en
nuestra imagen
.
0
bic ad o en la qu int a pos1c1
A[4] -+ hace referencia al elemento u
an ter ior al va lor 15.
atrices
. 5 ¡0 nes de M . es pe cif ica ció n de los ele
o,men de va ria r 1a me nto s de u
. ión en la qu e pu e , na t'l"\ .
. , es una d1recc d de tod os los d1as de l me
una dimens1on atr icu la os s tie ne una d' ªtr1z.
. 1tot al de Alu mn os m
. ue cont1ene e t s po r de pa rta me nto de irnen ·.
Una matriz q I tot al de ve n a tod os los día d s1or1
atriz que co nti en e e s e\ l't'\
(el día del mes). un a m el día de l me s). El nú me
, me ro del de pa rta me nto ro de dimensio ~s
tiene dos dimensiones (el y
nu nes %e
. e denomina Rango.
tiene una matriz s , .
. e un índ ice o un su bm
na ma triz , pro po rc1 on d1 ce pa ra cada una d
Para espec1 c
·t; ar un ele me nto de u . , , . , . , e sus
nti gu os a lo lar go d e c ad a dim en s1 on de l ind ice O al ind ice mas
dimensiones. Los elementos alt
son co o Para
esa dimensión.
. .
. . ue str an nc ep tua l de ma tric es co
Las ilustraciones s1gu1entes la es tru ctu ra co n ran go s diferentes. Cad
m d 'nd ice qu e tie ne n ac
.
elemento de las 1lu st racion
· es mu es tra los va lor es e 1 ce so a él. Po r ejemplo, PUe a
d
fila de la ma triz . . , e
tener acceso al pri me r eleme bid im en sio na l es pe cif ica nd
nto de la segunda o los indices ll,O].
Una Dimensión
.
A las matric es de una so 1a d.1mens1on
·,
s
e les lla ma arr eg los de tip
o lis ta o ve cto res Y alm ac
en an datos de un
mismo tip o organizados en
una sola co lum na y un a o
má s fila s.
La declaración de una ma triz
de una dim en sió n se ha ce
de la sig uie nte ma ne ra:
Tipo[ J nombre;
Donde "tip o" indica el tip o
de los ele me nto s qu e co
nte nd rá la ma tri z y "n om
que nombra a la matriz. Los br e" es un identificador
corchetes mo dif ica n la de
fin ici ón no rm al de l ide
int erp ret ad o po r el co mp ila nti fic ad or para que sea
do r co mo una ma triz .
Float[ J sueldo;
String[ J nombre·
I
Tipo[, J nombre;
el ·d ti"fi d b •
Donde "tipo" indica el tipo de datos que almace nará y "nomb re" es 1 en ca or que nom ra a 1a matriz.
s de dos dimens iones:
Las siguientes líneas de código son ejemp los de declara ciones de matrice
string[ , J Datosp;
matriz bidime nsiona l que recuen ta el
El ejempl o siguien te declar a una variab le que puede conten er una
aula.
númer o de aulas en el institu to de O a 20 y de O a 40 alumno s por
Ejemplos:
g[ 12, 31];
long [ , ] Actividades == new on
1
l 12 l3 14 15 16 17 18 19 20 21 22 23 24 25
6 7 8 9 10 1 26 27 28
o 1 2 3 4 5 2
indice 0,13
-..2~
Coordenadas de cada elemento O 0,0
- ,_t--.
1
2
1,0
- ...
..... ~
3
-t--.
4
5
6
4,0
6,15
-
....
7 -
8
u1in¡:
9
u~n¡:
10
u1in¡:
u1in¡I
11
1 u1in¡I
Para recorrer todos los elementos de la tabla se nece
sita dos ciclos far, uno exte rno para controlar el 1Bin¡I
reng-
lón y uno interno para controlar cada columna. IBIBj\
u1in¡I
u1in¡I
er la siguiente apariencia:
• pro yec to con el nom bre de "Pr ime rAr reg lo", debe ten
cre ar un
□
ti9 Forml 1 t19 Prueba de arreglos ~00~
Usta1 Usta2
label1 C7 Edad: LJ
Número de veces que
label2
apresionado el bóton
Agregar
label3
·--
--- -- Mostrar datos 1 Mostrar datos
Agregar_ J1 mediante Far
button1 r- :on2 - button2 - meiante Far
1 1 E.ach
-- -
to
Código Co mp let o del Proyec
.
using System;
tion s.G ene nc;
using System.Collec
l;
using System.ComponentMode
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PrimerArreglo
{
m
public partial class Fo rm l : For
//M triz de 10 ele me nto s
{ lon g[~ O]; . e ª
util izará para representar
long[] edad = new iab le~
long indiceEdad = O; //E sta var
d
//e l índ ice de la ma triz eda
public For ml( )
{
Je lnitializeComponent();
}
}
edad[indiceEdad] = Convert.Tolnt32(TxtEdad.Text); //Agrega el valor d T
indiceEdad += 1; //Aument a en uno la variable indiceEda d. e xtEdad a la m .
TxtEdad.Clear(); //Limpia el TextBoX TxtEdad atr,¡
TxtEdad.Focus(); //Devuelv e el foco a TxtEdad
Resultados
Edad : 111
ad Prueba d . · Número de v
e arreglos a presionadoe~ebs.que
ll- , oton
n,irega,
Edad: 11
12
13
¡,, ·---
Número d 14
a pre . e veces qu
__ --=-=----
.
s1onado I b • e r -·
" e óton
¡;¡;¡regar
15
16 [ ~-~ Most; r d~o -
mediante
-
Fo; , Mostrar datos
17 -
r 10___ _ •- ~ ch ¡ meiar~e For
18
1 - 19 . - . -
J-º 1
. .A9regar Mostra- ; d-- - / El ultim --- -
med· se agrego p arque
ates
1ante For I o val er no
llego al li mit e
Ea ch
2. se necesita una aplicación que alm acene los datos person
• Crear un proyec to con el ales de un alumno.
. . nombr e "DatosP
s1gu1ente aparien cia·· ersonalesMatrices"' la interfaz d eb e tener la
Nombre : _r [
_Nu;o
Guardar
·~
]
1
¡
Edad :
Sexo :
Numero de Registros , - - - - -
--_ -_ -_ __¡
r - - - - ',- -
Mostrar Nombres Edad ] j Sexo 1
Programación
{
DatosP[fila, O] = TxtCodigo.Text;
DatosP[fila, 1] = TxtNombre.Text;
DatosP[fila, 2] = TxtEdad.Text;
DatosP[fila, 3] = TxtSexo.Text;
BtnNuevo.Tag = false;
LblConteo.Text = Convert.ToString(conteo);
conteo+= 1;
fila+=l·J
else
) MessageBox.Sho
w{"lmposibl e guardar este registro", "M atnz
. llena");
BtnGuardar.Enabled = false·
BtnNuevo.Enabled = true· ,
{foreach {Control blo quear, .m this.Controls)
if (bloquear is TextBox)
{
} bloquear.Enabled -- fa1se;
} bloquear.Enabled -- false· J
k(o bje ct sender, EventArgs e)
-;ri vate void BtnCodigo Clic
{
+)
for (int fil = O; fil <= fila - 1; fil+
[fil, O]);
LisC odi go. ltem s.A dd( Dat osP
}
Resultados
Nombre 25_
Edad· ¡'- _ _ Guardar
_J
Edad Sexo
-- --- -- _l Mostrar nombres
- - Sexo
Código
s Edad
_ CódJgo_ _, __ _ Mostrar nombre
- □
Prueba con Matrices
~
Código · 6 r Nuevo
Edad: f>
Numero de registros : f 7
Sexo F
25 F
40 M
Uz .AJexand@ Valeriana
15 M
Marco Antonro López
20 M
Miguel Angel Beltran M
Arturo Roberto Suazo 30
Conradlflo Suazo Velásquez 24 F
Neysys .Aleyda Hemandez B~ F
Oomitila l.ópez Maldonado
Edad
Código