A. Fundamentos Básicos
- Imprimir "Hello World".
- Leer un número desde la entrada estándar y mostrarlo.
- Calcular la suma de dos números.
- Calcular el producto de dos números.
- Calcular el área de un círculo dado su radio.
- Convertir grados Celsius a Fahrenheit.
- Imprimir los números del 1 al 100.
- Imprimir los números pares del 1 al 50.
- Imprimir los números impares del 1 al 50.
- Verificar si un número dado es primo.
- Calcular el factorial de un número.
- Verificar si un año dado es bisiesto.
- Calcular la suma de los primeros N números naturales.
- Calcular la serie de Fibonacci hasta el término N.
- Verificar si un número dado es positivo, negativo o cero.
- Encontrar el máximo y mínimo de un conjunto de números.
- Ordenar un arreglo en orden ascendente y descendente.
- Calcular el promedio de un arreglo de números.
- Buscar un elemento en un arreglo.
- Contar la frecuencia de un elemento en un arreglo.
B. Estructuras de Control y Bucles
- Imprimir un patrón de asteriscos.
- Imprimir un patrón de números.
- Implementar la serie de números triangulares.
- Implementar la serie de números cuadrados.
- Implementar la serie de números romanos.
- Calcular la suma de los dígitos de un número.
- Implementar la criba de Eratóstenes para encontrar números primos.
- Calcular la suma de los dígitos de un número utilizando recursión.
- Verificar si una cadena es palíndromo.
- Implementar un juego de adivinar un número.
- Implementar un juego de piedra, papel o tijera.
- Implementar el juego del ahorcado.
- Implementar una calculadora básica con operaciones de suma, resta, multiplicación y división.
- Implementar un conversor de unidades (por ejemplo, Celsius a Fahrenheit, metros a pies).
- Implementar un programa que genere números aleatorios y los clasifique en pares e impares.
C. Funciones y Recursión
- Implementar una función para calcular el área de un triángulo.
- Implementar una función para calcular el área de un rectángulo.
- Implementar una función para calcular el área de un cuadrado.
- Implementar una función para calcular el volumen de una esfera.
- Implementar una función para calcular la potencia de un número.
- Implementar una función para calcular el factorial de un número utilizando recursión.
- Implementar una función para calcular el máximo común divisor (MCD) de dos números.
- Implementar una función para calcular el mínimo común múltiplo (MCM) de dos números.
- Implementar una función para encontrar el número mayor en un arreglo.
- Implementar una función para encontrar el número menor en un arreglo.
- Implementar una función para verificar si un año es bisiesto.
- Implementar una función para calcular el promedio de un arreglo.
- Implementar una función para verificar si un número es primo.
- Implementar una función para verificar si un número es positivo, negativo o cero.
- Implementar una función para calcular la suma de los dígitos de un número.
C. Estructuras de Datos
- Implementar una lista enlazada simple.
- Implementar una lista enlazada doble.
- Implementar una pila utilizando arreglos.
- Implementar una cola utilizando arreglos.
- Implementar una pila utilizando listas enlazadas.
- Implementar una cola utilizando listas enlazadas.
- Implementar un árbol binario de búsqueda.
- Implementar operaciones básicas en un árbol binario de búsqueda (insertar, eliminar, buscar).
- Implementar un árbol binario de búsqueda AVL.
- Implementar operaciones básicas en un árbol binario de búsqueda AVL (insertar, eliminar, buscar).
D. Programación Orientada a Objetos (POO)
- Implementar una clase para representar un libro.
- Implementar una clase para representar una cuenta bancaria.
- Implementar una clase para representar un estudiante.
- Implementar una clase para representar un empleado.
- Implementar una clase para representar un vehículo.
- Implementar una clase para representar una figura geométrica.
- Implementar una clase para representar un rectángulo.
- Implementar una clase para representar un círculo.
- Implementar una clase para representar una fecha.
- Implementar una clase para representar un nodo de una lista enlazada.
- Implementar una clase para representar una cola utilizando la clase nodo.
- Implementar una clase para representar una pila utilizando la clase nodo.
- Implementar una clase para representar un árbol binario.
- Implementar una clase para representar un árbol binario de búsqueda.
- Implementar una clase para representar una cuenta de usuario con métodos de login y logout.
E. STL y Algoritmos
- Utilizar std::vector para almacenar números y realizar operaciones básicas (insertar, eliminar, buscar). Utilizar std::map para almacenar pares clave-valor y realizar operaciones básicas (insertar, eliminar, buscar). Utilizar std::set para almacenar elementos únicos y realizar operaciones básicas (insertar, eliminar, buscar). Utilizar std::sort para ordenar un arreglo de números. Utilizar std::find para buscar un elemento en un arreglo. Utilizar std::accumulate para calcular la suma de los elementos en un arreglo. Utilizar std::transform para aplicar una función a cada elemento en un arreglo. Utilizar std::copy para copiar elementos de un arreglo a otro. Utilizar std::reverse para revertir el orden de los elementos en un arreglo. Utilizar std::shuffle para mezclar aleatoriamente los elementos en un arreglo. Utilizar std::count_if para contar los elementos que cumplen cierta condición en un arreglo. Utilizar std::max_element para encontrar el elemento máximo en un arreglo. Utilizar std::min_element para encontrar el elemento mínimo en un arreglo.
- Utilizar std::next_permutation para generar permutaciones de un conjunto de elementos.
- Utilizar std::binary_search para buscar un elemento en un arreglo ordenado.
Avanzado y Temas Especiales
- Implementar manejo de excepciones para validar entradas de usuario.
- Implementar una clase abstracta y clases derivadas que implementen sus métodos virtuales.
- Utilizar punteros y referencias para gestionar la memoria dinámica.
- Implementar un programa que lea y escriba datos en archivos.
- Utilizar plantillas (templates) para crear funciones y clases genéricas.
- Implementar programación concurrente utilizando hilos (threads).
- Utilizar bibliotecas externas como Boost para funcionalidades adicionales.
- Implementar un programa que utilice la entrada y salida estándar de manera eficiente.
- Implementar un programa que realice operaciones matemáticas complejas (álgebra lineal, cálculo numérico).
- Implementar un proyecto completo que combine varios de los conceptos y técnicas aprendidas.