Triángulo de asteriscos con C – Ejercicio resuelto

En este post te mostraré un ejercicio de programación muy sencillo para principiantes. Se trata de imprimir un triángulo de asteriscos en el lenguaje de programación C.

Si bien está escrito en C, este código compila como un encanto para C++. Es decir, puedes compilarlo con, por ejemplo, g++ y no habrá problema.

Te mostraré dos ejemplos del triángulo de asteriscos, uno en donde va en aumento y otro en decremento.

(más…)

Buscaminas en C – Juego

Hoy vamos a ver cómo implementar el juego buscaminas en C. Pasa que por diversión quise hacerlo y quedó muy bien a mi parecer.

Se trata del juego buscaminas en donde el usuario elige una casilla para descubrir lo que hay bajo la misma. Si hay una mina, el usuario pierde. En caso de que no, se le muestra al usuario el número de minas que hay cerca a esa casilla.

Lo que haremos será mostrar el tablero de juego, solicitar al usuario la casilla, ocultar las minas de manera aleatoria y saber si el usuario gana o pierde. Todo esto será modificable dentro del código fuente.

(más…)

C: sumar primer y último elemento de arreglo

En este post te voy a explicar cómo es el código para solucionar un algoritmo en C que dice algo así:

Escribir el código necesario que a partir de dos arreglos sume el primer elemento del primer arreglo con el último elemento del segundo; el segundo elemento del primero con el penúltimo elemento del arreglo y así sucesivamente hasta sumar el último elemento del primer arreglo con el primer elemento del segundo arreglo.

Almacenar la suma de cada elemento en un tercer arreglo y al finalizar, imprimir los 3 arreglos.

Lo que haremos será recorrer los arreglos, acceder a los índices por un contador y finalmente sumar. Realmente será sencillo realizar la suma de elementos de arreglos en C.

(más…)

C: Cálculo de pi usando serie de Leibniz

En este post te mostraré cómo obtener pi o calcular pi usando la serie de Leibniz en el lenguaje de programación C. Si bien esto es para C, también puede funcionar para C++.

La serie de Leibniz dice que pi se puede obtener a partir de la siguiente sucesión: 4/1 – 4/3 + 4/5 – 4/7 + 4/9…

Si te fijas, el 4 (numerador) es fijo, y el denominador se aumenta en 2. Además, en cada paso se intercambia el signo.

Nota: este cálculo es, digamos, lento, además de que su precisión depende del número de iteraciones que se hagan. Solo sirve para estudiar cómo es su algoritmo y ponerlo como ejercicio de programación.

Tal vez tú solo quieras obtener y usar el valor de pi en C, para lo cual existen ya otros métodos.

(más…)

Evaluar expresiones matemáticas en C y C++

En este post te mostraré cómo evaluar expresiones matemáticas a partir de una cadena. Es decir, hacer que se evalúe una ecuación, fórmula, etcétera.

De este modo podemos hacer que, por ejemplo, un usuario introduzca una fórmula, introduzca sus valores y se resuelva.

Además de evaluar expresiones aritméticas también podremos proporcionar valores a las variables dentro de la misma.

Vamos a usar tinyexpr, un pequeño analizador para expresiones matemáticas. Si bien el código aquí está destinado a ser usado con C, puede compilar, con ciertos ajustes, para C++.

(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…)

C: insertar cadena en otra cadena

Hoy veremos un ejercicio de trabajo con cadenas o strings en C. Se trata de ver una función para insertar una cadena dentro de otra cadena, en cualquier posición.

Es decir, colocar una substring en una string de C. Como sabemos, las cadenas en C son un dolor de cabeza.

Durante la madrugada estuve trabajando en una función que hace exactamente eso y la vengo a compartir.

(más…)

Mínimo común múltiplo en C

Mínimo común múltiplo en C – Código y demo

Resumen: mostrar cómo obtener el mínimo común múltiplo en C; es decir, calcular el MCM de dos números en C.

Recuerda que el MCM es el número menor y distinto de cero que es múltiplo de dos números.

Para calcularlo vamos a usar la fórmula que dice:

MCM(a, b) = (a * b) / MCD(a, b)

En donde MCM es mínimo común múltiplo y MCD es Máximo común divisor. Aunque por el momento parece complicado, verás que es muy fácil con los ejemplos.

(más…)

Mezclar arreglo en C

Mezclar arreglo en C (orden aleatorio)

En este post te muestro cómo mezclar un arreglo en C, es decir, aleatorizarlo o randomizarlo; como le llames. De este modo al final tendremos el arreglo mezclado, ordenado de forma aleatoria.

Para lograrlo simplemente necesitamos recorrer el arreglo y en cada iteración:

  1. Obtener un índice aleatorio que esté en el rango de 0 a longitud - 1
  2. Intercambiar el elemento en el índice del ciclo por el índice aleatorio

¡Vamos allá!

(más…)