07 noviembre 2023
Archivos de texto en C++
09 octubre 2023
Revolviendo vectores
11 septiembre 2023
Ordenando vectores
Encontré esta página que lo explica muy bien, y luego lo apliqué a un ejemplo práctico que ordena un vector que tiene datos de diferente tipo. De esta manera pueden ver cómo funciona el método sort con mis propias funciones de comparación.
Te aconsejo de leer el post que explica el sort y aquí te dejo mi código de ejemplo:
Espero que te sea útil. ¡Hasta la próxima!
05 septiembre 2023
Revolviendo un vector en C++

21 enero 2023
Condiciones en C: el Gato 2.0
Hace años publiqué una explicación sobre condiciones en C. En aquel tiempo lo hice todo en audio porque tenía un alumno con debilidad visual (casi ciego). Pero el servidor donde subí el audio cerró sin decir agua va y el artículo no sirve de mucho: puedes ver parte de la explicación y el código, pero se pierde mucho. Asi que, como sigo hablando de C con mis alumnos (y seguiré haciéndolo), es hora de volver a explicarlo.
Uno de los pilares de la programación es hacer que el programa tome decisiones. En otro ámbito, eso es lo que los papás esperamos de nuestros hijos: de que algún día puedan tomar las decisiones correctas. Pero al tratar con la computadora es más fácil: nunca va a renegar ni a ignorar lo que le diga (como lo suelen hacer mis hijas) porque siempre va a hacer lo que le indique y siempre lo hará igual. Claro que mis niñas pueden hacer millones de cosas que mi computadora no, y las amo millones de veces más que mi compu, pero esa es harina de otro costal.
Volviendo al mundo de la programación, casi todos los lenguajes tienen la instrucción IF que nos permite definir las instrucciones que se van a ejecutar en caso que se cumpla alguna condición. C no es la excepción y en el siguiente video te voy a explicar un programa que usa condiciones IF en C (o C++ que para este caso, da lo mismo).
En el video explico un programa ya hecho, un ejemplo que usa IFs. Si no tienes idea de qué es el IF, te sugiero revisar esta página de Nacho Cabanes que lo explica. Luego regresas a este video.
Aquí está el video:
Y aquí está el código del programa:
26 octubre 2021
Memoria dinámica en C++
Hace mucho tiempo, escribí acerca de apuntadores en C. Sin embargo, ya tocaba modernizarlo para que funcionara con C++.
En este video te explico como está la onda y abajo pongo imágenes con el código que aparece en el video para que lo puedas ver con más calma.
Éste es el primer ejemplo:
Y éste es el segundo:
Espero que te haya sido útil. ¡Hasta la próxima!
08 mayo 2021
Operadores en C/C++/C# y otros
Ayer en clase de introducción a la programación, mientras explicaba operadores aritméticos, se me ocurrió este meme. Ya sé que es malo, pero aquí esta.
19 marzo 2020
Cadenas en C
Y aquí puedes descargar el código fuente del video.
Si tienes dudas con arreglos, sería bueno que leyeras este post. ¡Saludos!
22 septiembre 2017
Características del lenguaje C
Hoy encontré éste artículo de makeuseof que detalla las características del lenguaje C, incluyendo una breve historia (más breve que la que escribí aquí) y algunas de las características que la hacen un lenguaje sumamente útil.
Aquí les dejo la liga: http://www.makeuseof.com/tag/characteristics-of-c-programming/
P.D. La imagen del lenguaje C usando en este post es cortesía de la página C Online Test.
21 junio 2016
Curso de programación en C
- ¿De dónde viene el lenguaje C?
- Estructura general de un programa en C
- Tipos de datos, variables y constantes
- Tipos de datos y variables
- Tipos de datos en C. Declarar variables e inicialización
- Ejemplos de declarar variables
- Declaración de variables
- Constantes
- Operadores
- Operaciones de entrada y salida
- Condiciones
- if
- switch - case
- Operador condicional ?
- Condiciones (tanto if como switch)
- Ciclos
- Arreglos de una o más dimensiones
- Arreglos en C/C++
- Arreglos bidimensionales
- Cosas que se pueden hacer con arreglos: ordenar elementos
- Estructuras y uniones
- Funciones
- Intro a las funciones (Nacho Cabañas) - Tiene ligas que llevan a páginas siguientes
- Funciones funcionales en C
- Apuntadores
- Apuntadores en C: ¿pa’ onde apunto?
- Punteros y gestión dinámica de memoria
- Aplicación de apuntadores: lista simplemente ligada
- Archivos (esta es la primera página de varios, escrito por Nacho Cabañas)
05 noviembre 2011
Sobrecargando operadores en C++
cout << ++x; // Esto imprime 4 porque incrementa antes del cout
cout << x++; // Imprime 4 y luego incrementa el valor de x
Este ejemplo fue hecho con Visual C++ 2010 y puedes descargar el proyecto en formato RAR aquí. ¡Saludos!
05 septiembre 2011
Vectores, iteradores y STL…
Declarando un iterador
Recorriendo el vector
cout << inventario[i] << endl;
}
Esto está bien, pero con un iterador, puedo hacerlo de la siguiente manera (suponiendo que it es un iterador):
for (it = inventario.begin(); it != inventario.end(); ++it) {
cout << *it << endl;
}
Fíjate en el operador * que funciona igual que con los apuntadores.
Modificando elementos del vector
También es posible cambiar un elemento del vector. Supongamos que quiero cambiar lo que tengo de inventario en el primer elemento. Esto lo podría hacer posicionando el iterador en el primer elemento y usar la notación * para cambiar el valor. Claro que si quieres cambiar otro elemento, lo tienes que encontrar primero.it = inventario.begin();
*it = “Guadaña”;
Funciones y elementos del vector
Es posible hacerlo con la misma notación que los apuntadores. Es decir, si quiero saber el número de elementos del vector inventario puedo hacerlo de cualquiera de estas maneras: (*it).size() o it->size()Insertando elementos en cualquier posición
Para esto me sirve la función insert. Supongamos que quiero poner antes del primer elemento un objeto que acabo de encontrar. Entonces haría lo siguiente:inventario.insert(inventario.begin(), "Botella llena de Curare");
Claro que si lo quieres insertar en otro lugar, solo posiciona un iterador en el lugar en donde quieres insertarlo y escribe eso en lugar del inventario.begin().
Eliminando cualquier elemento
El contenedor vector tiene la función pop_back para eliminar el último elemento, pero nada más. ¿Y si quiero eliminar lo que tengo en la posición 3 de mi inventario? Con iteradores puedo hacerlo de la siguiente manera:inventario.erase((inventario.begin() + 2));
Y para terminar, referencias y atracciones futuras
31 agosto 2011
Librería estándar (STL) y Vector
- Los vectores pueden crecer y los arreglos no.
- Los vectores pueden usar algoritmos programados en el STL. Los arreglos no.
- Necesitan más memoria.
- Cuando los vectores crecen mucho, disminuya el rendimiento.
- Los vectores no están disponibles en todas las plataformas.
Antes de empezar…
#include <vector>
Declarar un vector
vector<tipo_de_dato> nombre_de_variable;
vector<string> inventario;
vector<string> inventario(10);
vector<string> inventario(10,”Nada”);
vector<string> inventario(Arr);
Funciones
- push_back – agrega un elemento al final del vector.
- size – devuelve el número de elementos que están almacenados en el vector.
- pop_back – elimina el último elemento del vector. esto hace que el vector cambie de tamaño (se hace más pequeño).
- clear – elimina todos los elementos del vector.
- empty – Devuelve un valor de verdadero si el vector carece de elementos.
Ejemplo que usa el contenedor Vector
Atracciones futuras
Referencias para mayor información
24 agosto 2011
Números aleatorios en C++
31 mayo 2011
Listas Simplemente Ligadas
- free – C con clase.
- Otros recursos sobre listas simplemente ligadas: todo tipo de listas en Wikipedia y este excelente recurso sobre listas del Cinvestav (ojo: allí hay ligas para ver agregar y eliminar nodos).
10 diciembre 2009
El Rap del C++, parte II
08 diciembre 2009
El Rap del C++
del C más más,
y de eso que los gringos
llaman una "class".
como es un objeto:
sus datos y funciones
y es muy completo.
como el plano de una casa,
aunque no está en RAM
te muestra lo que pasa.
la clase en realidad
y utiliza toda
su funcionalidad.
objeto declaras:
escribe el nombre de la clase
y luego el nombre que le das.
tu quieres accesar,
con el operador punto
lo puedes ejecutar.
permite abstracción,
que algunos lo conocen como
encapsulación.
tu vida facilitar
porque datos y funciones
tu puedes agrupar.
una gran aportación,
porque cambia lo que hace
según la situación.
y esto es sorprendente,
hace lo que esperas
de una forma diferente.
mucho código reusar
porque en lugar de escribirlo
lo puedes heredar.
con todo lo que quieras
y a un montón de clases
sus cosas les heredas.
me voy a retirar
porque ya me dieron ganas
de irme a programar.







