You are on page 1of 12

Autor: M.T.I. Mnica C.

Fuentes Gonzlez Pgina 1


Arreglos
ARREGLOS UNIDIMENSIONALES
Introduccin Hasta ahora hemos hecho ejemplos de calcular promedios, pedir
calificaciones etc. Pero en ninguno de ellos podemos almacenar los
datos para consultarlos despus. Esto se debe a que la informacin con la
que hemos estado trabajando no queda almacenada en ningn lado.
Una forma de guardar informacin en forma temporal son los ARREGLOS
(arrays vectores, matrices)
La informacin temporal es aquella que existe mientras el programa se
esta ejecutando.
Cuando se deja de ejecutar el programa se pierde la informacin.
Pero Qu es un arreglo?

Definicin Un arreglo es una serie de datos del mismo tipo (int,char, float ) en
donde cada dato es llamado elemento del arreglo.

Caractersticas
de los arreglos
Un arreglo debe de tener un nombre, se debe de especificar el tipo de
datos que se van a almacenar y se debe de indicar la cantidad de
elementos que va a tener un arreglo.
Veamos el ejemplo:
Necesito un arreglo para guardar 5 calificaciones
Mi arreglo se va a llamar calificaciones
Va a guardar nmeros enteros

Declaracin de
un arreglo
Como cualquier variable, un arreglo SIEMPRE se tiene que
declarar.
Un arreglo solo puede guardar datos del mismo tipo.
Un arreglo no tiene cantidad mxima de elementos.


Sintaxis para
declarar
arreglos

tipo DeDatos nombreArreglo [ numeroDeElementos];

En donde:

tipoDeDatos = tipo de datos que deseo almacenar ( int, float)
nombreArreglo = Apodo con el que vamos a conocer el arreglo en el
programa
numeroDeElementos= total de datos que deseamos guardar.

Ejemplo: int calificaciones[5];
El arreglo tiene un nombre: calificaciones
El arreglo tiene un tipo : int ( enteros)
El arreglo va a guardar 5 elementos.
Ejemplos:
float salarios[40];
float temperatura[31];

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 2
Arreglos

Subndice de
un arreglo
Cuando declaramos un arreglo la computadora prepara el espacio en
memoria para guardar los datos.
Ejemplo:
int edades[5];

Si pudiramos ver en la computadora sera algo parecido a lo siguiente

edades


La computadora no puede identificar cada elemento del arreglo, por lo
tanto a cada casilla le pone un nmero (ndice) para identificarlo.

Este ndice empieza desde el cero.

Es decir, el ndice inicial es 0

Ejemplos:
int calif[3]; los ndices son 0,1,2
float peso[8]; los ndices son 0,1,2,3,4,5,6,7
int nmeros[6]; los ndices son 0,1,2,3,4,5


Inicializacin
de un arreglo
Para registrar datos en un arreglo se puede hacer de diferentes formas.

a) Dando valores a cada elemento
Precios[0]=10;
Precios[1] = 20;
Precios[2] = 30;
Lo anterior creo un arreglo que se llama Precio de 3 elementos
Los ndices del arreglo son 0,1,2

b) Asignando valores en la declaracin
int Precios[3] ={10,20,30};
Lo anterior creo un arreglo que se llama Precio de 3 elementos
Los ndices del arreglo son 0,1,2

int nmeros[]={1,2,3,4,5};
Lo anterior creo un arreglo que se llama nmeros de 5 elementos
Los ndices del arreglo son 0,1,2,3,4


0 1 2 3 4


Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 3
Arreglos
NOTA: Los arreglos de tipo char se comportan diferente. Cada
letra corresponde a un elemento del arreglo.
char nombre[4] = {L,U,I,S};
char datos[]={Luis};




c) Asignando valores a variables
int enero=31,feb=28,mar=31,abr=30,may=31;
int meses={ene,feb,mar,abr,may,jun};

meses



Como ingresar
los datos que
da el usuario
en un arreglo

Para mostrar y pedir informacin se usa el printf y el scanf.
La nica diferencia es que cuando se ingresa un dato para el arreglo se
deben de colocar los corchetes y el ndice en el que se va a guardar el
dato

Sintaxis
Para arreglos que guardan enteros
scanf(%d,&NombreDelArreglo[posicin]);

Para arreglos que guardan datos con punto decimal (float)
scanf(%f,&NombreDelArreglo[posicin]);

Para arreglos que guardan datos de tipo letras
scanf(%s,&NombreDelArreglo);
NOTA: No es necesaria la posicin porque cada letra la considera un
elemento del arreglo.

Ejemplos.

printf(Escriba la edad de la posicin 2);
scanf(%d,&edades[2]);

printf( Ingrese el dato de la posicin 1 );
scanf(%d,&dato[1]);

0 1 2 3 4 5
31 28 31 30 3130

0 1 2 3
L U I S

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 4
Arreglos

printf(Escriba la temperatura de la posicin 5);
scanf(%f,&temperatura[5]);

printf(Escriba el nombre de la persona);
scanf(%s,&nombre);
NOTA: para los char no se da la posicin, cada letra se guarda como un
elemento diferente.


Ejemplos 1.-Escribir un programa que pida 3 edades

#include<stdio.h>
#include<conio.h>
main()
{
int edades[3];
printf("Escribe la edad de la posicion 0 ");
scanf("%d",&edades[0]);
printf("Escribe la edad de la posicion 1 ");
scanf("%d",&edades[1]);
printf("Escribe la edad de la posicion 2 ");
scanf("%d",&edades[2]);
getch();

}

2.- Escribir un programa que asigne 2 calificaciones en un arreglo.
#include<stdio.h>
#include<conio.h>
main()
{
int calif[2];
printf("Escribe la calificacion de la posicion 0 ");
scanf("%d",&calif[0]);
printf("Escribe la calificacion de la posicion 1 ");
scanf("%d",&calif[1]);
getch();

}

3.- Escribir un programa que pida 6 temperaturas
#include<stdio.h>
#include<conio.h>
main()

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 5
Arreglos
{
float temperatura[6];
printf("Escribe la temperatura de la posicion 0 ");
scanf("%f",&temperatura[0]);
printf("Escribe la temperatura de la posicion 1 ");
scanf("%f",&temperatura[1]);
printf("Escribe la temperatura de la posicion 2 ");
scanf("%f",&temperatura[2]);
printf("Escribe la temperatura de la posicion 3 ");
scanf("%f",&temperatura[3]);
printf("Escribe la temperatura de la posicion 4 ");
scanf("%f",&temperatura[4]);
printf("Escribe la temperatura de la posicion 5 ");
scanf("%f",&temperatura[5]);
getch();
}
NOTA:
Observe como se repiten las mismas instrucciones para pedir los datos
del arreglo.
En particular en el ejercicio 3 se repite mucho cdigo, lo nico que
cambia es la posicin en la que se recibe el dato.

Para evitar tanto cdigo que se repite podemos utilizar la instruccin
for.


Arreglos y for,
una pareja
perfecta


La instruccin for tiene la caracterstica de hacer que una variable
cambie de valor cierto nmero de veces.
Como pudimos observar en el ejemplo 3 (de las 6 temperaturas), se
repiti mucho cdigo y lo nico que cambiaba era el valor de la posicin.
La posicin fue de 0 a 5.

Si tuviramos que llenar un arreglo de 50 datos, la posicin de cada
elemento debe de cambiar de 0 a 49.

La instruccin for puede encargarse de cambiar el valor de la posicin y
as escribir menos cdigo.

Imagine que necesitamos llenar un arreglo de 3 elementos.
La posicin va de 0 a 2.
En un for quedara de la siguiente forma

for (j=0;j<3;j++)
{
printf(Escribe el elemento de la posicin %d,j);

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 6
Arreglos
scanf(%d,&dato[j]);
}


Imagine que necesitamos llenar un arreglo de 45 calificaciones de un
grupo
La posicin de cada elemento va de 0 a 44
En un for quedara de la siguiente forma
for (j=0;j<45;j++)
{
printf(Escribe la calificacin de de la posicin %d,j);
scanf(%f,&calif[j]);
}




Ejercicios de
arreglos con
for

Resolver los ejercicios anteriores pero utilizando el for


1.-Escribir un programa que pida 3 edades

#include<stdio.h>
#include<conio.h>
main()
{
int edades[3];
int j;
for ( j=0 ; j < 3 ; j++)
{
printf("Escribe la edad de la posicin %d ",j);
scanf("%d",&edades[j]);
}
getch();
}

2.- Escribir un programa que asigne 2 calificaciones en un arreglo.
#include<stdio.h>
#include<conio.h>
main()
{
int calif[2];
int m;

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 7
Arreglos
for (m=0 ; m<2 ; m++)
{
printf("Escribe la calificacin de la posicin %d ",m);
scanf("%d",&calif[m]);
}
getch();

}

3.- Escribir un programa que pida 6 temperaturas

#include<stdio.h>
#include<conio.h>
main()
{
float temperatura[6];
int k ;
for (k=0 ; k <6 ; k++ )
{
printf("Escribe la temperatura de la posicin %d ",k);
scanf("%f",&temperatura[k]);
}
getch();
}

Visualizar
datos del
arreglo en
pantalla

Ya sabemos como llenar los datos de un arreglo de verdad los datos se
almacenaron?
Para verificar que los datos se almacenaron aprenderemos a visualizarlos
en pantalla.
Lo que necesitamos es mostrar cada elemento del arreglo haciendo
referencia a su ndice.
Recordemos que la instruccin que se usa para mostrar informacin en
pantalla es printf.

printf( El dato de la posicin 1 es %d,NombreArreglo[posicin]);

Por ejemplo:
Si quisiramos ver las 3 edades que almacenamos en el arreglo edades,
debemos de hacer lo siguiente:

printf( La edad de la posicin 0 es %d, edades[0]);
printf(La edad de la posicin 1 es %d, edades [1]);
printf(La edad de la posicin 2 es %d, edades[2]);

Si quisiramos ver las 2 calificaciones que almacenamos en el arreglo
calig, debemos de hacer lo siguiente:

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 8
Arreglos

printf( La calificacin de la posicin 0 es %d,calif[0]);
printf( La calificacin de la posicin 1 es %d,calif[1]);
printf( La calificacin de la posicin 2 es %d,calif[2]);

Si quisiramos ver las 6 temperaturas que almacenamos en el arreglo
temperatura, debemos e hacer lo siguiente:
printf( La temperatura de la posicin 0 es %f, temperatura[0]);
printf( La temperatura de la posicin 1 es %f, temperatura [1]);
printf( La temperatura de la posicin 2 es %f, temperatura [2]);
printf( La temperatura de la posicin 3 es %f, temperatura [3]);
printf( La temperatura de la posicin 4 es %f, temperatura [4]);
printf( La temperatura de la posicin es %f, temperatura [5]);

NOTA: En todos los casos, para poder mostrar los datos almacenados,
primero debimos de haber llenado los arreglos.






Ejemplos

Hacer los 3 ejercicios anteriores, llenando los arreglos con for y
despus mostrando en pantalla los datos almacenados

1.-Escribir un programa que pida 3 edades y despus las muestre en
pantalla

#include<stdio.h>
#include<conio.h>
main()
{
int edades[3];
int j;
// For para llenar el arreglo
for ( j=0 ; j < 3 ; j++)
{
printf("Escribe la edad de la posicin %d ",j);
scanf("%d",&edades[j]);
}
// Instrucciones para mostrar los datos que se almacenaron
printf( La edad de la posicin 0 es %d, edades[0]);
printf(La edad de la posicin 1 es %d, edades [1]);
printf(La edad de la posicin 2 es %d, edades[2]);
getch();


Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 9
Arreglos
}

2.- Escribir un programa que asigne 2 calificaciones en un arreglo y
despus las muestre en pantalla

#include<stdio.h>
#include<conio.h>
main()
{
int calif[2];
int m;
// for para llenar el arreglo
for (m=0 ; m<2 ; m++)
{
printf("Escribe la calificacin de la posicin %d ",m);
scanf("%d",&calif[m]);
}
// Instrucciones para mostrar las calificaciones almacenadas
printf( La calificacin de la posicin 0 es %d,calif[0]);
printf( La calificacin de la posicin 1 es %d,calif[1]);
printf( La calificacin de la posicin 2 es %d,calif[2]);
getch();

}




3.- Escribir un programa que pida 6 temperaturas y despus las
muestre en pantalla

#include<stdio.h>
#include<conio.h>
main()
{
float temperatura[6];
int k ;
// for para llenar el arreglo
for (k=0 ; k <6 ; k++ )
{
printf("Escribe la temperatura de la posicin %d ",k);
scanf("%f",&temperatura[k]);
}
// Instrucciones para mostrar las temperaturas almacenadas
printf( La temperatura de la posicin 0 es %f, temperatura[0]);
printf( La temperatura de la posicin 1 es %f, temperatura [1]);

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 10
Arreglos
printf( La temperatura de la posicin 2 es %f, temperatura [2]);
printf( La temperatura de la posicin 3 es %f, temperatura [3]);
printf( La temperatura de la posicin 4 es %f, temperatura [4]);
printf( La temperatura de la posicin 5 es %f, temperatura [5]);
getch();

}

NOTA

Como se puede observar, ahora se repiten las instrucciones en donde
se muestra la informacin que esta almacenada en el arreglo, podemos
hacer ms sencillo el programa usando la instruccin for para llenar y
la instruccin for para mostrar.



1.-Escribir un programa que pida 3 edades y despus las muestre en
pantalla

#include<stdio.h>
#include<conio.h>
main()
{
int edades[3];
int j;
// For para llenar el arreglo
for ( j=0 ; j < 3 ; j++)
{
printf("Escribe la edad de la posicin %d ",j);
scanf("%d",&edades[j]);
}
// For mostrar los datos que se almacenaron
for( j =0 ; j < 3 ; j++)
{
printf( La edad de la posicin %d es %d \n, j , edades[j]);
}
getch();

}





2.- Escribir un programa que asigne 2 calificaciones en un arreglo y

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 11
Arreglos
despus las muestre en pantalla

#include<stdio.h>
#include<conio.h>
main()
{
int calif[2];
int m;
// for para llenar el arreglo
for (m=0 ; m<2 ; m++)
{
printf("Escribe la calificacin de la posicin %d ",m);
scanf("%d",&calif[m]);
}
//for para mostrar los datos almacenados
for( m = 0 ; m < 2 ; m++)
{
printf( La calificacin de la posicin %d es %d \n,m, calif[m]);
}
getch();

}





3.- Escribir un programa que pida 6 temperaturas y despus las
muestre en pantalla

#include<stdio.h>
#include<conio.h>
main()
{
float temperatura[6];
int k ; int p;
// for para llenar el arreglo
for (k=0 ; k <6 ; k++ )
{
printf("Escribe la temperatura de la posicin %d ",k);
scanf("%f",&temperatura[k]);
}
// for para mostrar los datos almacenados
for( p=0 ; p<6 ; p++ )
{

Autor: M.T.I. Mnica C. Fuentes Gonzlez Pgina 12
Arreglos
printf( La temperatura de la posicin %d es %f \n,
p,temperatura[p]);
}

getch();
}

NOTA

Observe como para llenar el arreglo en el primer for se uso la variable
k.
Y en el segundo for para mostrar los datos almacenados se uso la
variable p, eso quiere decir que no importa la variable que use, siempre
y cuando la declare antes de usarla, y controle el valor inicial y el valor
final adentro del for.

Si en mi for la letra que controla el ciclo es p, todo lo que va adentro
de ese for va con p.

Si en mi for la letra que controla el ciclo es k, TODO lo que va a dentro
de ese for va con k.

You might also like