Map en CPP - Ejemplo de uso

Hashmaps en C++ con map

En este post te mostraré cómo trabajar con hashmaps, hashtables o diccionarios en C++ (CPP) usando map. Me parece que a éstas tablas también se les conoce como tablas de dispersión o simplemente mapas.

Así que usaré cualquiera de estos sinónimos para referirme a esa estructura de datos.

Recuerda que un diccionario tiene una clave y un valor. Lo bueno es que permite acceder a los elementos de manera muy rápida, pues no tiene que hacer ningún tipo de búsqueda ya que usando la clave podemos localizar cualquier elemento.

Veamos entonces algunos ejemplos de map en C++.

(más…)

Escribir en archivo de texto con C++

En este artículo te mostraré cómo escribir contenido en un archivo de texto usando el lenguaje de programación C++.

Al final sabrás cómo escribir líneas en un archivo de texto plano. Veremos dos modos, el modo output para escribir remplazando el contenido, y el modo append para escribir agregando el contenido. Todo esto programando en C++.

(más…)

Leer archivo de texto con C++

En este post de programación sobre C++ aprenderás a leer un archivo de texto plano, es decir, leer el contenido de un archivo txt línea por línea.

Aunque será leído por cada línea, si quieres obtener todo el contenido, puedes concatenar las cadenas.

Leer archivo de texto en C++

Para ello vamos a usar ifstream y getline.

(más…)

Conecta 4 en C – Programación de juego

Conecta 4 – Juego programado en C sobre Linux Ubuntu

En este post te mostraré el juego Conecta 4 programado en C por consola. Se trata del juego que lleva el mismo nombre en donde se deben conectar cuatro fichas del mismo color de manera que formen una línea, ya sea horizontal, vertical o diagonal.

Las características del mismo son:

  • Al iniciar se elige un color aleatorio que inicia el juego, es decir, no siempre comienza el mismo jugador
  • Modo humano contra humano
  • Modo humano contra CPU (computadora); se ha programado una pequeña IA para jugar contra el humano
  • Modo computadora contra computadora (divertido de observar)
  • Opción para cambiar la longitud del tablero de juego
  • Se puede cambiar la cantidad de fichas que se conectan. Es decir, se puede jugar a conecta 3, conecta 5, conecta 6, etcétera.
  • Escrito totalmente en C y compilable para C++. Compila en Windows con gcc, en Linux Ubuntu con gcc e igualmente en Android con Termux (de nuevo, usando gcc).

A lo largo del post te mostraré cómo es que programé el juego, dónde se puede probar, descargar, etcétera.

Nota: mira este juego portado para JavaScript, es decir, en su versión web.

(más…)

Llenar matriz con números primos en C++

En este post aprenderás cómo rellenar una matriz (y si fuera un array o arreglo también sería posible) de números primos; es decir, llenar toda la matriz con números pero siempre y cuando sean primos.

Lo haremos en lenguaje C++ aunque debería funcionar de igual modo en otro lenguaje. Simplemente vamos a usar una función que dice si un número es primo y luego usarla para rellenar el arreglo de dos dimensiones.

(más…)

Embellecer código de C++ y C con clang-format

En este post te mostraré cómo formatear (agregar estilo legible) a tu código de C y C++, es decir, embellecerlo.

Aunque este formateador funciona para otros lenguajes (C#, JavaScript, Objective-C) solo te mostraré el ejemplo con los dos lenguajes que mencioné.

Vamos a usar clang, y específicamente el binario de clang-format.

Nota: recomiendo usar clang solo para embellecer el código; pero si quieres un compilador de C o C++ dale un vistazo a mingw que tiene g++ y gcc.

(más…)

Valor absoluto en C++

En este post te mostraré una función de la librería cmath en C++ (también llamado CPP) para calcular el valor absoluto de un número.

Ya existe una función en math.h pero solo funciona con números enteros; generando algunas inconsistencias.

Por eso es que ahora te mostraré cómo sacar el valor absoluto de un número en C++ sin pérdida de precisión, esto es, de números flotantes.

(más…)

Servidor web en tarjeta NodeMCU ESP8266

Crear servidor web con NodeMCU ESP8266

En este artículo te mostraré cómo configurar la tarjeta NodeMCU como punto de acceso, AP o SoftAP para poder conectarte a ella usando WiFi y pode consultar un web server.

Dentro de la tarjeta vamos a “embeber” un servidor web, que no es otra cosa más que responder con HTML a las peticiones, pero podemos modificar ese HTML ya que tenemos el lenguaje C++ en la tarjeta.

De hecho eso hacen todos los lenguajes de programación del lado del servidor: leen peticiones y modifican HTML para mostrarlo.

Esto abre un mundo de posibilidades, pues podremos hacer bastantes cosas, pero comencemos con lo básico y es convertir la tarjeta en un servidor web.

Nota: si tú no quieres crear una red WiFi y solo quieres crear el servidor web para que se conecte a tu red WiFi (de modo que puedas acceder a él en tu red local con su IP), mira este tutorial que a su vez es más fácil.

(más…)