clase 10: arreglos - ninaspro.cl · temario de la clase 1. definición de arreglo 2. definición de...

Post on 19-Jul-2020

18 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Clase 10: Arreglos

Profesoras de Cátedra:Pía CortésAntonia Larrañaga

¿Quiénes somos?

Diapo Pía

Soy casi Astrónoma, estoy terminando el Magíster en Astronomía en la Universidad de Chile. Estudio planetas extrasolares y programo todo el día. Me gusta leer, las hamburguesas y los gatos.

Diapo Anto

Estudié Ingeniería Eléctrica en la U. de Chile. Actualmente trabajo en The Not Company, donde hacemos comida vegana a partir de inteligencia artificial. Me gusta cocinar, tejer, hacer yoga y los gatos.

Temario de la clase

1. Definición de arreglo

2. Definición de vector

3. Ejemplos

4. Ejemplos con ciclos

Definición de arreglo

¿Qué es un arreglo?

Un grupo o colección finita y ordenada de elementos.

Permite almacenar un conjunto de datos de un mismo tipo.

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Arreglos en C++

int edades [4];

float estaturas [3];

bool estados [5];

string nombres [2];

Tipo Tamaño

Si conoces el tamaño de tu arreglo, pero no sabes exactamente qué datos contiene, puedes

declararlo así

Arreglos en C++

int edades [] = {45, 21, 33, 1};

float estaturas [] = {1.50, 1.67, 1.32};

bool estados [] = {true, true, false, true, false};

string nombres [] = {“María”, “Julián”};

Tipo

Si conoces tus datos, puedes

ponerlos directamente

Operaciones con arreglos

Creamos un arreglo de números enteros de la siguiente forma:

int numeros [] = {-123, 49, 0, 36, 42, 33, 90};

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Operaciones con arreglos

Podemos acceder al elemento i de la siguiente forma:

cout << numeros[2];

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Operaciones con arreglos

Podemos acceder al elemento i de la siguiente forma:

cout << numeros[2]; // Entrega 0

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Definición de vector

¿Qué es un vector?

Es otra estructura en C++, pero que también nos sirve para almacenar datos del mismo tipo.

Tenemos que incluir la librería vector: #include <vector>

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Vectores en C++

vector<int> edades;

vector<float> estaturas;

vector<bool> estados;

vector<string> nombres;

Tipo

¡No es necesario que conozcas el tamaño de tu

vector!

Vectores en C++

vector<int> edades = {45, 21, 33, 1};

vector<float> estaturas = {1.50, 1.67, 1.32};

vector<bool> estados = {true, true, false, true};

vector<string> nombres = {“María”, “Julián”};

Tipo

Si conoces tus datos, puedes

ponerlos directamente

Operaciones con vectores

Podemos acceder al elemento i de las siguientes formas:

cout << numeros[2]; // Entrega 0cout << numeros.at(2); // Entrega 0

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Operaciones con vectores

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

front

Nos entrega el primer elemento

clear

Borra el contenido del vector, lo deja de tamaño cero

back

Nos entrega el último elemento

Operaciones con vectores

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

swap

Cambia el contenido de dos vectores

pop_back

Elimina el último elemento

push_back

Agrega un elemento al final

Operaciones con vectores

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

empty

Retorna true si el vector está vacío

resize

Cambia el tamaño del arreglo

size

Entrega el tamaño del vector

Ejemplos con vectores

Ejemplo

using namespace std;

int main (){ vector<int> notas = {43, 42, 67, 55}; cout<< notas.size() << endl; cout<< notas.front() << endl; cout<< notas.back() << endl;

}

Ejemplo

using namespace std;

int main (){ vector<int> notas = {43, 42, 67, 55}; cout<< notas.size() << endl; // (1) cout<< notas.front() << endl; // (2) cout<< notas.back() << endl; // (3)

}

(1) 4(2) 43 (3) 55

Ejemplo

using namespace std;

int main (){ vector<int> alturas = {1.43, 1.42, 1.67, 1.55};

alturas.pop_back(); cout << alturas.size()<< endl; alturas.push_back(1.80); cout << alturas.size() << endl;}

Ejemplo (1) 3(2) 4

using namespace std;

int main (){ vector<int> alturas = {1.43, 1.42, 1.67, 1.55};

alturas.pop_back(); cout << alturas.size()<< endl; alturas.push_back(1.80); cout << alturas.size() << endl;}

Ejemplo

using namespace std;

int main (){ vector<int> apellidos = {“Morales”, “Pérez”}; apellidos.clear(); cout << apellidos.size() << endl;

}

Ejemplo Retorna 0 porque el vector quedó sin elementos

using namespace std;

int main (){ vector<int> apellidos = {“Morales”, “Pérez”}; apellidos.clear(); cout << apellidos.size() << endl;

}

Ejemplos con ciclos

Ejemplo

Para crear un juego, una de las partes requiere que recibamos 6 palabras y luego las imprimamos en orden inverso.

#include <iostream>using namespace std;

int main(){

// Declaramos el arreglo string palabras[6];

// Guardamos los datos for (int i = 0; i < 6; i++) { cin >> palabras[i]; }

// Imprimimos los datos for (int i = 5; i >= 0; i--) { cout << palabras[i] << endl; } return 0;}

Créditos diseños

● Macarena Ibsen, diseñadora gráfica, Branding NiñasPRO.

● Íconos de Freepik usados en estas diapositivas,

licenciados bajo Creative Commons BY 3.0.

https://www.flaticon.com/authors/freepik

¿Preguntas?

top related