Retos de programación en C++

226 retos que puedes resolver en C++, desde los primeros bucles hasta grafos, programación dinámica y machine learning. Escribe tu código en el navegador, ejecuta las pruebas al momento y recibe una revisión de IA.

Fácil · 134 Intermedio · 68 Difícil · 24

Habilidades que practicarás: ConteoExtraer dígitosAritméticaBuclesFórmulasListasListas 2DBucles anidadosBucles whileComa flotanteCondicionesDescenso de gradiente
  • Python · C++ · C#
  • Pruebas automáticas
  • Revisión de código por IA
  • Soluciones de la comunidad
226
Desafíos
2
Soluciones compartidas
3
Lenguajes

Todos los desafíos

Busca por tema, lenguaje o dificultad.

226 desafíos
Fácil

Una configuración compartida

Simula un objeto de configuración singleton: cada parte del programa lee y escribe la misma instancia.

Aprenderás SingletonEstado compartido
BeginnerPatrones de diseñoSimulation
Aún no hay soluciones
Fácil

Suscriptores de eventos

Entrega eventos a los suscriptores de cada tema, al estilo observer, y cuenta lo que recibe cada persona.

Aprenderás Patrón ObservadorDiccionarios
Patrones de diseñoSimulationStrings
Aún no hay soluciones
Fácil

Adaptador de sensores de temperatura

Adapta lecturas de sensores Fahrenheit, Kelvin y Celsius a una sola interfaz en Celsius.

Aprenderás Patrón AdaptadorConversión de unidades
Patrones de diseñoParsingmath
Aún no hay soluciones
Fácil

Fábrica de figuras

Crea formas a partir de descripciones de texto con una fábrica y devuelve el área de cada una.

Aprenderás Método fábricaPolimorfismo
Patrones de diseñoParsingmath
Aún no hay soluciones
Intermedio

Nómina semanal

Calcula el total del pago semanal para empleados asalariados, por hora y por comisión, cada uno pagado por su propia regla.

Aprenderás PolimorfismoCálculo de horas extra
ParsingSimulationmath
Aún no hay soluciones
Intermedio

Tamaños de carpetas con Composite

Calcula el tamaño total de cada carpeta en un árbol donde las carpetas contienen archivos y otras carpetas.

Aprenderás Patrón CompositeÁrboles
Patrones de diseñoRecursionTrees
Aún no hay soluciones
Fácil

Decoradores de precio

Envuelve un precio base en decoradores de descuento, impuestos, envío y cupón aplicados en orden.

Aprenderás Patrón DecoradorPorcentajes
Patrones de diseñoSimulationmath
Aún no hay soluciones
Fácil

Coste de las notificaciones

Envía mensajes por email, SMS y push, donde cada canal calcula su propio coste.

Aprenderás PolimorfismoDivisión entera
SimulationStrings
Aún no hay soluciones
Intermedio

Orden de finalización de tareas paralelas

Ejecuta tareas concurrentemente con como máximo k a la vez e informa el orden en que terminan.

Aprenderás ConcurrenciaColas de prioridad
SimulationSorting
Aún no hay soluciones
Intermedio

Pila con mínimo

Construye una pila que informe instantáneamente de su elemento más pequeño después de cualquier push o pop.

Aprenderás PilasMínimo acumulado
Data-structuresStacks
Aún no hay soluciones
Intermedio

Constructor de consultas SQL

Ensambla una consulta SQL a partir de partes dadas en cualquier orden, como un objeto constructor que reúne configuraciones paso a paso.

Aprenderás Patrón BuilderEnsamblado de cadenas
Patrones de diseñoParsingStrings
Aún no hay soluciones
Fácil

Peajes de vehículos

Cobrar peajes a motocicletas, coches y camiones, donde los camiones amplían la regla básica del vehículo con ejes.

Aprenderás HerenciaSobrescritura de métodos
BeginnerSimulation
Aún no hay soluciones
Fácil

Primera edad no válida

Valida las edades escritas y señala dónde está la primera entrada incorrecta en lugar de dejar que el programa falle.

Aprenderás ValidaciónAnálisis de texto
BeginnerParsingStrings
Aún no hay soluciones
Fácil

Unir clientes y pedidos

Une los clientes con sus pedidos como un Join de LINQ e informa del gasto total de cada uno.

Aprenderás LINQ JoinAgrupación
ArraysSorting
Aún no hay soluciones
Fácil

Contar niveles de log

Lee las líneas de un archivo de registro y cuenta cuántas son INFO, WARNING y ERROR.

Aprenderás Lectura por líneasDivisión de cadenas
BeginnerParsingStrings
Aún no hay soluciones
Intermedio

Orden de liberación RAII

Determina el orden en que se liberan los recursos con ámbito cuando sus ámbitos terminan, como garantiza RAII.

Aprenderás RAIIPilas
Data-structuresSimulationStacks
Aún no hay soluciones
Fácil

Tiempo total con WhenAll

Encuentra cuánto tarda un programa cuando cada grupo de tareas se ejecuta junto con Task.WhenAll y los grupos se ejecutan uno tras otro.

Aprenderás Async/awaitTask.WhenAll
ArraysBeginner
Aún no hay soluciones
Fácil

Hacer crecer un array dinámico

Simula cómo un array dinámico duplica su capacidad y cuenta las reasignaciones y los elementos copiados.

Aprenderás Arrays dinámicosCosto amortizado
ArraysSimulationmath
Aún no hay soluciones