Post on 25-Jan-2016
Arreglos: Vectores
Prof. Flor NarcisoDepartamento de Computación
Escuela de Ingeniería de SistemasFacultad de Ingeniería
Universidad de Los Andes
Tipos de Datos
• Simples: Almacenan un solo valor (enteros, reales, caracteres, apuntadores, lógicos).
• Compuestos o estructurados: Almacenan uno o mas valores (arreglos, registros, cadenas de caracteres).
Arreglo
• Generalización del concepto de variable
• Variable: Puede tener como máximo un valor.• Arreglo: Representa una colección de valores
Tipos de Arreglos
- Vectores (arreglos unidimensionales - 1D)- Matrices (arreglos bidimensionales - 2D)- Multidimensionales (tres - 3D- o mas
dimensiones)
Vectores: Representación Gráfica
Elto1 Elto2 Elto3 Elto4 Elto5 Elto6 Elto7
A1
Nombre del vector
Vector de 7 elementos cuyo nombre es A1
Vectores: Representación Gráfica
Elto1 Elto2 Elto3
Salario
Nombre del vector
Vector de 3 elementos cuyo nombre es Salario
Vectores: Definición
• Grupo de localidades consecutivas de memoria relacionadas por el hecho que tienen el mismo nombre y tipo.
• Ejemplos: vector de enteros, vector de reales, vector de caracteres.
Vectores: Notación Algorítmica
tipo_dato nombre_vector[número_elementos]
Ejemplos:
entero A[12]; // Vector A de 12 numeros enteros
caracter cdn[8]; // Vector cdn de 8 caracteres
entero b[100], x[27];
Vectores: Declaración en C++
tipo_dato nombre_vector[número_elementos]
Ejemplos:
int A[12]; // Vector A de 12 numeros enteros
char cdn[8]; // Vector cdn de 8 caracteres
int b[100], x[27];
Vectores: Acceso
• Cada elemento del vector es accedido mediante el nombre del vector y la posición numérica de dicho elemento dentro del vector (subíndice).
nombre_vector[posicion_elemento]
Vectores: Acceso
2 -12 3 0 -9 0 1
A1[0] A1[1] A1[2] A1[3] A1[4] A1[5] A1[6]
A1
Primer elemento: A1[0] = 2
Segundo elemento: A1[1] = -12
Ultimo elemento: A1[6] = 1
Vectores: Subíndice
• Posición numérica de dicho elemento dentro del vector. Su valor puede variar de 0 a n-1, donde n es el número de elementos del vector.
• Puede ser un valor entero (A1[3]) o una expresión entera (A1[x+y]).
• En general el i-ésimo elemento del vector se escribe nombre_vector[i-1].
Vectores: Instrucciones Válidas
• A[1] = 3;• X = A[4];• cin >> A[6];• cout << A[10];• A[1] = A[b+2];• Y = Suma (A[i], b, c);• b = A[6] / 2;
Cada elemento de un vector puede usarse como una variable cualquiera.
Vectores: Inicialización
Inicializar los elementos de un vector de 7 elementos enteros en cero.
Forma tradicional:
int vector[7], i; // Declaracion del vector
for (i = 0; i < 7; i++)
vector[i] = 0; // Inicializacion de cada
// elemento del vector en 0
Vectores: Inicialización
0 0 0 0 0 0 0
vector[0] vector[1] vector[2] vector[3] vector[4] vector[5] vector[6]
Vectores: Inicialización
Inicializar los elementos de un vector de 10 elementos enteros con valores del 1 al 10.
int v1[10], i; // Declaracion del vector……………….for (i = 0; i < 10; i++)
v1[i] = i + 1; // Inicializacion de cada
// elemento del vector
Vectores: Inicialización
1 2 3 4 5 6 7 8 9 10
v1[0] v1[1] v1[2] v1[3] v1[4] v1[5] v1[6] v1[7] v1[8] v1[9]
Vectores: Inicialización Inicializar los elementos de un vector de 30 elementos de tipo carácter con valores introducidos por el usuario
char C[30], car; // Declaración del vectorint indice;………………...for (indice = 0; indice < 30; indice++) {
cout << “Introduzca un caracter” << endl;cin >> car;C[indice] = car; // Inicializacion
}
Vectores: Inicialización
‘A’ ‘C’ ‘1’ ‘Z’ ‘*’ ‘D’ …… …… ‘0’
C[0] C[1] C[2] C[3] C[4] C[5] C[29]
Vectores: Inicialización en C++
int a[10] = {0}; // inicializa todos los elementos// del vector a en cero
int n[10] = {32, 27, 64, 18, 95, 14, 90, 70, 60, 37};
char cdn[8] = {‘S’, ‘I’, ‘ ‘, ‘a’, ‘l’, ‘l’, ‘I’, ‘,’}
Vectores: Ejemplo
#include <iostream.h>
void EscribirVector( ) {
int n[9] = {32, 27, 64, 18, 95, 14, 90, 70, 60}, j;
for (j = 0; j < 9; j++) cout << “Elemento” << j+1 << “=“ << n[j]
<< endl;}
Vectores: Ejemplo
Inicializar los elementos de un vector s con los números pares del 2 al 20
void InicializarPar(int s[], int numEltos) {int j;
for (j = 0; j < numEltos; j++)s[j] = 2 + 2 * j;
}
Nota: El paso de un vector como parámetro SIEMPRE es por referencia.
vector
Número de elementos del vector
Vectores: Ejemplo
Calcular la suma de los elementos de un vector
entero función sumVector ( )
entero a[8] = {1, 3, 5, 4, 7, 2, 99, 16}, i, total = 0
0. Inicio1. Repita para (i = 0; i < 8; i = i + 1)
total = total + a[i] fin-RP
2. devolver total3. fin_función
Vectores: Ejemplo
int sumVector ( ){ int a[8] = {1, 3, 5, 4, 7, 2, 99, 16}, i, total = 0;
for (i = 0; i < 8; i++)total = total + a[i];
return total;}
Ejercicio
• Leer una lista de n notas (del 1 al 20) contando la frecuencia de cada nota.