{"id":18355335,"url":"https://github.com/gianbdev/c-challenges","last_synced_at":"2026-05-14T22:38:31.764Z","repository":{"id":247493841,"uuid":"826012631","full_name":"gianbdev/C-Challenges","owner":"gianbdev","description":"exercices in c++ / clang","archived":false,"fork":false,"pushed_at":"2024-08-22T20:20:03.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T01:47:41.431Z","etag":null,"topics":["c","cpp","make"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gianbdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T00:17:30.000Z","updated_at":"2024-08-22T20:20:06.000Z","dependencies_parsed_at":"2024-07-16T04:11:37.522Z","dependency_job_id":"d465de95-09ca-4d33-8229-ee0d4ca6db8d","html_url":"https://github.com/gianbdev/C-Challenges","commit_stats":null,"previous_names":["gianbdev/c-challenges"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gianbdev/C-Challenges","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianbdev%2FC-Challenges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianbdev%2FC-Challenges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianbdev%2FC-Challenges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianbdev%2FC-Challenges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gianbdev","download_url":"https://codeload.github.com/gianbdev/C-Challenges/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianbdev%2FC-Challenges/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33045883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","make"],"created_at":"2024-11-05T22:06:36.325Z","updated_at":"2026-05-14T22:38:31.748Z","avatar_url":"https://github.com/gianbdev.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e IMPROVE YOUR LOGIC WITH TTHOSE CHALLENGES IN C++\u003c/h2\u003e\n\n**A. Fundamentos Básicos**\n* Imprimir \"Hello World\".\n* Leer un número desde la entrada estándar y mostrarlo.\n* Calcular la suma de dos números.\n* Calcular el producto de dos números.\n* Calcular el área de un círculo dado su radio.\n* Convertir grados Celsius a Fahrenheit.\n* Imprimir los números del 1 al 100.\n* Imprimir los números pares del 1 al 50.\n* Imprimir los números impares del 1 al 50.\n* Verificar si un número dado es primo.\n* Calcular el factorial de un número.\n* Verificar si un año dado es bisiesto.\n* Calcular la suma de los primeros N números naturales.\n* Calcular la serie de Fibonacci hasta el término N.\n* Verificar si un número dado es positivo, negativo o cero.\n* Encontrar el máximo y mínimo de un conjunto de números.\n* Ordenar un arreglo en orden ascendente y descendente.\n* Calcular el promedio de un arreglo de números.\n* Buscar un elemento en un arreglo.\n* Contar la frecuencia de un elemento en un arreglo.\n\n**B. Estructuras de Control y Bucles**\n\n* Imprimir un patrón de asteriscos.\n* Imprimir un patrón de números.\n* Implementar la serie de números triangulares.\n* Implementar la serie de números cuadrados.\n* Implementar la serie de números romanos.\n* Calcular la suma de los dígitos de un número.\n* Implementar la criba de Eratóstenes para encontrar números primos.\n* Calcular la suma de los dígitos de un número utilizando recursión.\n* Verificar si una cadena es palíndromo.\n* Implementar un juego de adivinar un número.\n* Implementar un juego de piedra, papel o tijera.\n* Implementar el juego del ahorcado.\n* Implementar una calculadora básica con operaciones de suma, resta, multiplicación y división.\n* Implementar un conversor de unidades (por ejemplo, Celsius a Fahrenheit, metros a pies).\n* Implementar un programa que genere números aleatorios y los clasifique en pares e impares.\n\n**C. Funciones y Recursión**\n* Implementar una función para calcular el área de un triángulo.\n* Implementar una función para calcular el área de un rectángulo.\n* Implementar una función para calcular el área de un cuadrado.\n* Implementar una función para calcular el volumen de una esfera.\n* Implementar una función para calcular la potencia de un número.\n* Implementar una función para calcular el factorial de un número utilizando recursión.\n* Implementar una función para calcular el máximo común divisor (MCD) de dos números.\n* Implementar una función para calcular el mínimo común múltiplo (MCM) de dos números.\n* Implementar una función para encontrar el número mayor en un arreglo.\n* Implementar una función para encontrar el número menor en un arreglo.\n* Implementar una función para verificar si un año es bisiesto.\n* Implementar una función para calcular el promedio de un arreglo.\n* Implementar una función para verificar si un número es primo.\n* Implementar una función para verificar si un número es positivo, negativo o cero.\n* Implementar una función para calcular la suma de los dígitos de un número.\n\n**C. Estructuras de Datos**\n* Implementar una lista enlazada simple.\n* Implementar una lista enlazada doble.\n* Implementar una pila utilizando arreglos.\n* Implementar una cola utilizando arreglos.\n* Implementar una pila utilizando listas enlazadas.\n* Implementar una cola utilizando listas enlazadas.\n* Implementar un árbol binario de búsqueda.\n* Implementar operaciones básicas en un árbol binario de búsqueda (insertar, eliminar, buscar).\n* Implementar un árbol binario de búsqueda AVL.\n* Implementar operaciones básicas en un árbol binario de búsqueda AVL (insertar, eliminar, buscar).\n\n**D. Programación Orientada a Objetos (POO)**\n* Implementar una clase para representar un libro.\n* Implementar una clase para representar una cuenta bancaria.\n* Implementar una clase para representar un estudiante.\n* Implementar una clase para representar un empleado.\n* Implementar una clase para representar un vehículo.\n* Implementar una clase para representar una figura geométrica.\n* Implementar una clase para representar un rectángulo.\n* Implementar una clase para representar un círculo.\n* Implementar una clase para representar una fecha.\n* Implementar una clase para representar un nodo de una lista enlazada.\n* Implementar una clase para representar una cola utilizando la clase nodo.\n* Implementar una clase para representar una pila utilizando la clase nodo.\n* Implementar una clase para representar un árbol binario.\n* Implementar una clase para representar un árbol binario de búsqueda.\n* Implementar una clase para representar una cuenta de usuario con métodos de login y logout.\n\n**E. STL y Algoritmos**\n* 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.\n* Utilizar std::next_permutation para generar permutaciones de un conjunto de elementos.\n* Utilizar std::binary_search para buscar un elemento en un arreglo ordenado.\n\n**Avanzado y Temas Especiales**\n* Implementar manejo de excepciones para validar entradas de usuario.\n* Implementar una clase abstracta y clases derivadas que implementen sus métodos virtuales.\n* Utilizar punteros y referencias para gestionar la memoria dinámica.\n* Implementar un programa que lea y escriba datos en archivos.\n* Utilizar plantillas (templates) para crear funciones y clases genéricas.\n* Implementar programación concurrente utilizando hilos (threads).\n* Utilizar bibliotecas externas como Boost para funcionalidades adicionales.\n* Implementar un programa que utilice la entrada y salida estándar de manera eficiente.\n* Implementar un programa que realice operaciones matemáticas complejas (álgebra lineal, cálculo numérico).\n* Implementar un proyecto completo que combine varios de los conceptos y técnicas aprendidas.\n\n\u003ch4\u003eEstos ejercicios te proporcionarán una amplia variedad de desafíos para mejorar tus habilidades en C++. ¡Diviértete programando!\u003c/h4\u003e\n\n### Look at for the [Documentation C++](https://cplusplus.com/reference/)\n- [Articles](https://cplusplus.com/articles/)\n- [Forum](https://cplusplus.com/forum/)\n- [Tutorials](https://cplusplus.com/doc/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgianbdev%2Fc-challenges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgianbdev%2Fc-challenges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgianbdev%2Fc-challenges/lists"}