Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prof. GPR
Situación Problemática
• ¿Cómo sacar el promedio de 100 notas?
• ¿Definir 100 variables?
• ¿Como decirle al computador que
nota1..nota100 son todas notas?
• ¿Cómo acceder a todas?
¿Así?
void main(){
int nota1, nota2, nota3,……nota100;
. . .
}
Nom R O S A \0=null
Arreglos
B[0][0] B[0][1] B[0][2]
A
B
1x3
15 8 12 5 17 13 14 datos
0 1 2 3 4 5 6 índice
Ejemplo:
Temperatura
95.75
83.0
97.625
72.5
86.25
Ejemplo:
Temperatura
95.75 => Temperatura[0]
83.0 => Temperatura[1]
97.625 => Temperatura[2]
72.5 => Temperatura[3]
86.25 => Temperatura[4]
¿Cómo acceder a los a los
arreglos?
• Si son vectores se puede acceder a
todas con un ciclo for
• Si son matrices se puede acceder a
los datos con un doble ciclo for
Ejemplo:
Temperatura for(i=0;i<5;i++)
cin>>Temperatura[i];
Temperatura[0] 95.75
Temperatura[1] 83.0
Temperatura[2] 97.625
Temperatura[3] 72.5
Temperatura[4] 86.25
ESTRUCTURA DE DATOS ( ARREGLOS )
Ejem.- A= 34 45 12 05 93 Datos
(0) (1) (2) (3) (4) Índices
Arreglos
FF0F9D Nota 3
Arreglos
Nota 1
2
3 10.000
.
.
.
10.000
Definición de arreglos
<tipo> <nombre> [<tamaño>];
int notas[10000];
float otro[TAMAGNO];
Char muchos[80];
Definición de arreglos
• El tamaño debe ser constante
• No se pueden utilizar variables para
especificar el tamaño.
• Se suelen utilizar constantes de
preprocesador.
Definición de arreglos
<variable> = <arreglo>[<indice>];
int main(){
int numeros[N];
int i;
double sum;
for(i=0;i<N;i++)
cin>>numeros[i]);
sum=0;
for(i=0;i<N;i++){
sum = sum + numeros[i];
}
return 0;
}
Ejemplo 3
#include <math.h>
#define N 4
int main(){
int numeros[N];
int i;
double sum, parit,pgeom;
sum=0;
pgeom=1;
for(i=0;i<N;i++){
sum = sum + numeros[i];
pgeom = pgeom * numeros[i];
}
parit = 1.0*sum / N;
pgeom = pow(pgeom, 1.0/N);
return 1;
}
Ejemplo 4
#include <math.h>
#define N 4
int main(){
int numeros[N];
int i;
int maximo, minimo;
minimo=1000;
maximo=0;
for(i=0;i<N;i++){
if(numeros[i]<minimo)
minimo=numeros[i];
if(numeros[i]>maximo)
maximo=numeros[i];
}
return 1;
}
Acceso a arreglos
• Solo se puede acceder a los indices entre el
cero y tamaño-1.
• Sin embargo, C no realiza un chequeo de
acceso a indices inválidos.
• ¿Qué pasa si accedemos a un indice
invalido?
• Veremos el analisis de arreglos como
punteros.