cpp

Instalar compilador de C y C++ sobre Windows de 32 bits

Resumen

En este post te voy a mostrar cómo instalar el compilador gcc y c++ sobre Windows, en la versión de 32 bits. Al final podrás ejecutar y programar en C y C plus plus.

Hago esto por dos cosas:

  1. Para mostrarte cómo instalar el compilador de C en una PC de 32 bits
  2. Para recordarme a mí mismo cómo hacerlo cuando necesite compilar un programa de Go que lleva SQLite 3 pero para 32 bits, desde mi PC de 64 bits, ya que el mismo requiere un compilador C de 32 bits si se compila para 32 bits debido a que utiliza CGO

Continue reading…

Buscar elemento en arreglo de C++

En este post vamos a trabajar con arreglos en C++ y la búsqueda de elementos dentro de los mismos.

En resumen vamos a:

  1. Saber si un elemento existe dentro de un arreglo
  2. Buscar un elemento en arreglo de C++
  3. Obtener el índice o posición de un elemento en arreglo de CPP

Para ello usaremos simplemente el ciclo for y comparaciones.

Continue reading…

Agregar elemento a arreglo / vector en C++

Los arreglos de C++ no pueden cambiar su tamaño en tiempo de ejecución, pero los vectores sí.

En este post voy a explicar cómo agregar o insertar un elemento a un vector en C++ usando los métodos push_back e insert, los cuales agregan elementos al vector pero de distintas maneras: uno pone el elemento al final, y otro lo agrega en determinado índice.

También veremos cómo agregar un elemento al inicio, en la penúltima posición, en la segunda o en cualquier índice.

Continue reading…

Recorrer vectores en C++

Un vector en C++ es como un arreglo mejorado, es algo así como una lista o arraylist de Java.

Los vectores tienen muchos métodos que hacen que sean dinámicos, y no estáticos como los arreglos.

Hoy vamos a ver algunas maneras de recorrer o iterar vectores en C++.

Continue reading…

Namespaces en C++ con “using namespace”

En mucho código de C++ existe la siguiente declaración:

using namespace std;

O:

using namespace otroEspacioDeNombres;

Muchos programadores lo colocan sin saber, y a veces el no saber genera errores.

Por ello es que hoy voy a explicar cómo se usan los namespaces en CPP además de por qué se utiliza “using namespace”.

Continue reading…

Herencia de clases en C++

Continuando con la programación orientada a objetos en C++ hoy vamos a ver cómo funciona la herencia de clases, con algunos ejemplos.

Recordemos que, en C++, cuando una clase extiende de otra, la misma hereda sus métodos y propiedades, exceptuando el constructor.

También vamos a ver cómo sobrescribir métodos de la clase padre.

Nota: antes de que leas sobre la herencia, mira los principios de la programación orientada a objetos en C++.

Continue reading…

Clases y objetos en C++

C++ soporta la programación orientada a objetos (OOP o POO).

En este post vamos a ver cómo trabajar con clases y objetos de CPP, vamos a ver cómo se define una clase y cómo se crea una instancia de la misma, además de ver los getters, setters, modificadores de acceso, propiedades y métodos.

Nota: comenzaré explicando cómo funcionan las clases y objetos en CPP, y al final dejaré un ejemplo de código de una clase y la creación de objetos.

Continue reading…

Modificador “auto” en C++

En CPP o C++ existe la palabra clave “auto” al declarar variables, su uso permite al programador ahorrar la declaración del tipo en una variable.

Dicho de otra manera, “auto” permite la inicialización de variables sin especificar el tipo.

Continue reading…

Promedio de arreglo en C++

En este post vamos a ver un algoritmo muy sencillo en C++: obtener el promedio de los valores de un arreglo.

Vamos a hacerlo en una función que recibe el arreglo y la longitud del mismo.

Aunque lo haremos con un arreglo de enteros, funcionará perfecto para otro tipo de arreglos, simplemente cambiando los tipos de dato.

Continue reading…

Hola mundo en C desde Termux

Instalar GCC y G++ (compilador de C y CPP) en Android con Termux

Ya estamos aquí con otra entrada sobre Termux y Android. En este post vamos a ver cómo instalar el paquete clang, el cual va a configurar y preparar el compilador de C y C++ para poder programar en C y CPP desde nuestro Android.

Antes de continuar recuerda instalar Termux y sus utilidades básicas, así como realizar las configuraciones necesarias.

Continue reading…

Solución a algoritmo para determinar número narcisista en muchos lenguajes

Introducción

Función esNarcisista en CPP

Función esNarcisista en CPP

Un número narcisista es aquel que es igual a la suma de cada uno de sus dígitos elevados a la “n” potencia (donde “n” es el número de cifras del número). La metáfora de su nombre alude a lo mucho que parecen “quererse a sí mismos” estas cifras. Por ejemplo, el 153 es un número narcisista puesto que 13 + 53 + 33 = 1 + 125 + 27 = 153. Los primeros números narcisistas son: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474 y 54748.

Fuente: Muy interesante

Solución al algoritmo para determinar si tenemos un número narcisista

Pero bueno, no vamos a ver la definición de un número narcisista porque si vienes buscando el algoritmo significa que ya sabes lo que es. Pues bien, aquí pondré la solución al algoritmo (que al final de cuentas es muy simple) en múltiples lenguajes de programación.

Si quieres que resuelva el algoritmo en otro lenguaje de programación eres libre de dejar un comentario 🙂

Algoritmo

Sin importar el lenguaje de programación, lo que tenemos que hacer es tomar la longitud del número. Esa longitud será a la que elevaremos cada cifra.

Luego recorremos todo el número, tomamos una cifra, la elevamos a la potencia mencionada anteriormente y el resultado lo vamos sumando a otra variable.

Al final comprobamos si la suma y el número que recibimos son iguales; en caso de que sí entonces el número es narcisista.

Soluciones

Por cierto, he puesto mi mayor esfuerzo para solucionar este ejercicio. Sin embargo no prometo que sean los métodos más rápidos (hablando de rendimiento en milisegundos y esas cosas); puede haber mejores. Lo que sí prometo es que:

  • Los algoritmos funcionan perfectamente y resuelven el problema
  • Siguen las mejores prácticas para que sean entendibles por seres humanos

Dicho esto, aquí está la lista.

  1. Número narcisista en JavaScript
  2. Número narcisista en C#
  3. Algoritmo programado en el lenguaje de programación C++
  4. Ejercicio resuelto en PHP
  5. Solución en Java
  6. Determinarlo con Go & Golang
  7. Algoritmo en Python
  8. Número narcisista en Rust

Recuerda que puedes pedir la implementación en otro lenguaje usando los comentarios.

Número narcisista en C++

Introducción

Comenzaremos resolviendo el algoritmo para determinar si un número es narcisista en CPP o C++. Escribiremos una función que recibe un entero y regresa un booleano indicando si el número recibido es narcisista.

Narcisista en CPP

Narcisista en CPP

 

Nota: si quieres saber qué es un número narcisista, así como el algoritmo para determinarlo lee: Solución al algoritmo de número narcisista en muchos lenguajes de programación.

Continue reading…

Instalar GCC 64 bits en Windows con MinGW

Introducción

GCC es, si no me equivoco, el compilador de GNU para código C y CPP, entre otros. Es decir, compila código C en un ejecutable; fácil y sencillo.

Viene instalado en la mayoría de distribuciones Linux, pero si queremos un compilador bonito y libre corriendo sobre Windows podemos recurrir a MinGW.

Normalmente, para programar en C y C++ nos bastaría con una instalación de 32 bits , pero resulta que por alguna razón hoy necesité la versión de 64 bits; y vengo a mostrar cómo instalar el compilador de C y C++ en sistemas de 64 bits.

Continue reading…