https://github.com/gianbdev/c-challenges
exercices in c++ / clang
https://github.com/gianbdev/c-challenges
c cpp make
Last synced: about 1 month ago
JSON representation
exercices in c++ / clang
- Host: GitHub
- URL: https://github.com/gianbdev/c-challenges
- Owner: gianbdev
- Created: 2024-07-09T00:17:30.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-22T20:20:03.000Z (almost 2 years ago)
- Last Synced: 2025-04-10T01:47:41.431Z (about 1 year ago)
- Topics: c, cpp, make
- Language: C++
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
IMPROVE YOUR LOGIC WITH TTHOSE CHALLENGES IN C++
**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.
Estos ejercicios te proporcionarán una amplia variedad de desafíos para mejorar tus habilidades en C++. ¡Diviértete programando!
### Look at for the [Documentation C++](https://cplusplus.com/reference/)
- [Articles](https://cplusplus.com/articles/)
- [Forum](https://cplusplus.com/forum/)
- [Tutorials](https://cplusplus.com/doc/)