Arrays, strings y vectores

Guardar muchos datos juntos: arrays de C, std::string, std::vector, grillas y texto que se parsea.

14 aulas · 10 horas de práctica · en el navegador, sin instalar nada

Temario

  1. Arrays de C: tamaño fijo — Muchos valores del mismo tipo bajo un solo nombre: declarar un array, leer y escribir cada lugar con su índice, y recorrerlo con un for.
  2. Recorrer y acumular — Los cuatro recorridos que más se escriben: sumar, buscar el máximo y el mínimo, promediar sin perder decimales y averiguar si alguno cumple algo.
  3. Arrays 2D — Un array de arrays: filas y columnas con dos índices, un tablero de char, listas de coordenadas y cómo se guarda todo en memoria.
  4. std::string: largo, índices y concatenar — Un texto que sabe su largo: size(), cada carácter con su índice, pegar con + y +=, y los dos errores de siempre (el último índice y sumar dos textos entre comillas).
  5. Buscar y recortar: find, substr y replace — Buscar una palabra adentro de un texto, cortar un pedazo y reemplazarlo: lo que hace falta para leer las declaraciones de un caso y señalar a los sospechosos.
  6. char y ASCII: el cifrado César — Un char es un número chico: sumarle, restarle y compararlo es lo que hace falta para cifrar y descifrar mensajes como Julio César, y para romper el cifrado contando letras.
  7. std::vector y push_back — El array que crece: agregar al final con push_back, leer con [] y size(), sacar el último con pop_back, y llenarlo desde el teclado sin saber cuántos van a venir.
  8. El for de rango y auto — Recorrer un vector sin índices: for (x : v), cuándo copia y cuándo toca el original (&), por qué const auto& es lo normal, y qué tipo deduce auto.
  9. Taller: la batalla naval completa — Una partida entera contra la flota enemiga: leer jugadas como "B3", marcar lo que ya se tocó, avisar cuando un barco se hunde y terminar cuando no queda ninguno.
  10. Insertar y borrar en un vector — insert y erase en cualquier posición: colarse al principio, sacar un pedido del medio, borrar varios sin saltearse ninguno y mantener una lista ordenada.
  11. Ordenar a mano: burbuja — Intercambiar dos elementos, hacer una pasada, repetirla hasta que todo quede en orden y cortar antes cuando ya está: el ordenamiento de burbuja, escrito por vos y visto en el podio.
  12. Grillas con vector<vector> — Un vector de vectores como mapa de un juego: crearlo lleno, leer y escribir mapa[y][x], moverse sin atravesar paredes ni salirse, y buscar en toda la grilla.
  13. Taller: el ladrón más torpe del mundo — Una bodega con estantes, un guardia que patrulla y un ladrón que sigue instrucciones al pie de la letra: esperar al guardia, medir distancias y elegir el mejor plan.
  14. Parsear texto con stringstream — Desarmar un mensaje en sus partes como si fuera la entrada del teclado: stringstream con >>, números que salen como números, getline con separador y los mensajes de la torre de control.

Es parte de