You are on page 1of 8

Tipos de Dato Arreglo.

Un arreglo es una colección de posiciones de almacenamiento de datos, del mismo tipo y con
el mismo nombre, pero con una dirección única, o índice. Cada posición del arreglo comúnmente es
llamada elemento del arreglo. Los arreglos se clasifican en unidimensionales y multidimensionales,
aunque hablando de multidimensionales, se usan casi exclusivamente los bidimensionales, ya que el
uso de más índices o dimensiones en un arreglo hacen su uso más complejo, de cualquier forma,
aquí hay una representación de los más comunes:

Arreglo unidimensional o vector simple

Arreglo bidimensional o matriz

Arreglo tridimensional

Arreglos unidimensionales

Un arreglo unidimensional es un arreglo que tiene solamente un índice, o una dimensión,


comúnmente se les llama vectores, y su representación puede ser indistintamente vertical u
horizontal:

0 5
1 3
Arreglo 2 7 Arreglo Elemento
3 9 Elemento 5 3 7 9 1 0 2 6 9 0
4 1 0 1 2 3 4 5 6 7 8 9
5 0 Direccion
6 2
7 6
8 9
Direccion 9 0
Los arreglos unidimensionales en C se declaran así:

[tipo] [nombre del arreglo] [[dimensión]];

Ejemplo:

int Arreglo[10];

En este ejemplo, se declara el arreglo Arreglo, de tipo entero, con 10 elementos, algo muy
importante que se debe recordar a la hora de trabajar con arreglos, es que sus direcciones o
posiciones de memoria comienzan en 0, es decir, si el arreglo tiene 10 elementos, sus direcciones
serán 0,1,2...9. Ahora bien, si se desea hacer referencia a algún elemento del arreglo, se especifica el
nombre del arreglo y entre corchetes su dirección, y como la dirección de los arreglos es un entero,
también podemos poner como índice una variable, lo cual es muy útil cuando se desea, por ejemplo,
llenar el arreglo con valores leídos por teclado.

Ejemplo:

#include <stdio.h>
#include <stdlib.h>
int i, A[100];
main()
{
clrscr(); /* Borra la pantalla */
printf(“Introduzca los valores para el arreglo...”);
for (i=0; i<100; i++)
scanf(“%d”, &A[I]);
printf(“\nLos valores introducidos son…”);
for (i=0; i<100; i++)
printf(“\n %d”, A[I]);
getch();
}

Y su salida sería más o menos así:


Arreglos multidimensionales

Un arreglo multidimensional tiene más de un índice. Un arreglo bidimensional (matriz) tiene


dos índices, un arreglo tridimensional tiene tres índices, etc., No hay límite para la cantidad de
dimensiones que puede tener el arreglo, (sin embargo, sí hay un límite para el tamaño total del
arreglo, y lo conoceremos más adelante).

Matrices

Las matrices son arreglos bidimensionales, y generalmente se conoce a estos índices como
filas y columnas, o utilizando los índices más comunes para matrices en las matemáticas, i,j. Su
representación sería más o menos así:

0,0 0,1 0,2


6 5 2
1,0 0,1 0,2
1 6 8
2,0 0,1 0,2
20 12 9
3,0 0,1 0,2
2 10 0

0,0 Índic
6
Valor

Los índices i,j representan el número de fila y columna, respectivamente, ahora, veamos un
ejemplo:
//Ejemplo1
#include <stdio.h>
#include <stdlib.h>
int i,j, M[3][3];
main()
{
clrscr(); /* Borra la pantalla */
printf("Introduzca los valores para la matriz...\n");
/* Se abren dos ciclos, uno para las filas y uno para las columnas */
for (i=0; i<3; i++)
for (j=0; j<3; j++)
scanf("%d", &M[i][j]);

printf("\nLos valores introducidos son...\n");

for (i=0; i<3; i++)


{
for (j=0; j<3; j++)
printf("%d", M[i][j]);
printf("\n");
}
getch();
}

En este caso, se declara una matriz de 3 * 3, es decir, una matriz de 3 filas y 3 columnas, para
este ejemplo, la matriz se ha llenado usando el método llamado “llenado por fila mayor”, que
consiste en llenar la matriz empezando por llenar filas, mientras que el método “llenado por
columna mayor” consiste en llenar la matriz empezando por las columnas.

Problemas Resueltos :
//Ejercicio 01.-
//Programa que determina el menor valor en un arreglo y su ubicación.

#include<iostream.h>
#include<conio.h>
#include<bcd.h>
#include<math.h>
#define N 60
void main()
{
clrscr();
int A[N],i,n,min=200,pos;
cout<<"programa que determina el menor dato ingresado y su ubicacion: \n";
cout<<"ingrese el numero de elementos:\n";
cin>>n;
cout<<"ingreso de elementos";
for(i=1;i<=n;i++)
{
cin>>A[i];
}
cout<<"\nleyendo el menor dato ingresado";
for(i=1;i<=n;i++)
{
if(A[i]<min)
{ min=A[i];

}
}
cout<<"\nel menor elemento es="<<min;
for(i=1;i<=n;i++)
{
if(min==A[i])
pos=i;
}
cout<<"\nla ubicacion del elemento es ="<<pos;
getch();
}
Inicio

Min = 200

Ingrese el número de elementos: ; n;

Ingrese de elementos

i=1

A
F
in Leyendo el menor dato ingresado

V
i=1
A i
B
F
i = i +1 in El menor elemento es: ; min;

A i=1
A imin
C
F
i = i +1 in

Min=A i
V
B

i = i +1

A imin

Fos = i

i = i +1

C
//Ejercicio 02.-
//Programa que calcula el producto de las diagonales de una matriz
#include<iostream.h>
#include<conio.h>
#include<math.h>
#define N 8
void main()
{
clrscr();
int A[N][N],i,j,p;
cout<<"Ingresemos la matriz a evaluar\n\n";
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{

cout<<"A["<<i<<"]["<<j<<"]= ";
cin>>A[i]
[j];
}
}
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<A[i]
[j]<<"\t";
}
cout<<"\n";
}

p=1;
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
if(i==j)
{

p=p*A[i][j];
}
}
}