estoy en busca de una serie de problemas C (con soluciones) que puedo usar para construir mis habilidades C. Ya entiendo los conceptos básicos del lenguaje, la sintaxis y la semántica. Estoy buscando una serie de problemas que me ayudarán a perfeccionar mis habilidades, no una serie de preguntas simples que verías en una clase introductoria de programación.C Problemas y soluciones
Respuesta
Usted puede tratar de resolver algunos de los problemas en Project Euler. Los primeros son bastante simples, pero son muy difíciles muy rápidamente. Creo que es muy divertido intentar encontrar el código más corto o el código más optimizado para calcular los resultados (aunque generalmente utilizo C++ o Python, no C).
Una de las ventajas de los problemas del Proyecto Euler tienen es que no son sólo el lenguaje centradas; son problemas que realmente te hacen reflexionar sobre cómo desarrollar una solución elegante para problemas difíciles.
+1 por la buena sugerencia. Sin embargo, Project Euler no es lo que el OP está buscando, porque quiere problemas con sus soluciones, y PE no muestra la solución hasta que haya resuelto el problema usted mismo. –
Bueno, Project Euler le dice si _su_ solución es correcta, y si busca en Google, encontrará soluciones para muchos, si no la mayoría, de los problemas en una variedad de idiomas. –
bibliotecas que implementan Construir sofisticada data structures, al igual que los árboles binarios, diccionarios, y tal.
Y no se olvide code-golf.
Es probable que desee responder únicamente a los desafíos (preguntas) que tienen al menos 10 votos hacia arriba.
+1, aunque tengo la tentación de borrar la palabra 'Ping' en mi polvoriento conjunto de clubes reales y reemplazarlo por 'Perl'. Aún así, es divertido trabajar en los problemas con C, especialmente los láseres. –
Correcto, en SO en particular, code-golf es más que solo programas cortos, también es un foro general y un lugar para que todos puedan mejorar sus habilidades. – DigitalRoss
Escriba un compilador. No necesita ser complejo o incluso completo: puede crear un lenguaje simple (un subconjunto de lisp?) Y luego escribir un lexer para ello. Asegúrese de comenzar estableciendo la gramática formal. Tocará la administración de memoria, aritmética de puntero y otras cosas ordenadas de C.
he aprendido mucho acerca de los autómatas y compilador de diseño escribiendo un simple analizador YAML en C++.
Eso es casi tan bueno como aprender C al escribir un sistema operativo. Claro que lo hice para aprender C, pero no recomendaría un dolor tan extremo a nadie (por supuesto, tampoco conocía toda la semántica y algo de C cuando comencé). Cualquier gran proyecto complejo te ayudará a aprender C aunque – Earlz
No, mi punto es comenzar algo. Estoy interesado en compiladores, analizadores, intérpretes y demás. SO, juegos, editores de texto: todos pueden ser grandes y desalentadores. El truco es comenzar. Hazlo tan pequeño como puedas, incluso un subcomponente incompleto de un gran poryecto. Si estás tratando con lo que te fascina, lo harás bien, e incluso te divertirás. – wilhelmtell
Aquí es una lista de los sitios con los jueces en línea (y similares) que contiene una gran variedad de problemas:
(Los sitios se clasifican en orden lexicográfico)
ACM Live Archive, problemas del pasado Regionales ACM/ICPC y Finales Mundiales.
Arbiter, juez de línea en la Universidad Sharif en Irán.
13. National Taiwan University Online Judge
14. Online Problems Solving System (OPSS)
15. Peking University Online Judge
17. Project Euler
20. TJU Online Judge
21. TopCoder
23. USACO Training Program Gateway
24. UVa Online Judge
25. Wuhan University Online Judge
26. ZJU Online Judge
27. Z-Trening
Pruebe el libro de Dennis Ritchie en el lenguaje de programación C. El libro tiene muy buenos problemas y también la lectura es una alegría :) Para problemas más difíciles se puede ir a Bitwise Programming contest
depósito de material bit a bit de Knuth podría ayudar en la noble búsqueda :)
Ruby Quiz tiene 156 problemas con las soluciones. Pero en Ruby, no en C. Consulte la lista de correo de ruby-lang para obtener más información después de que James dejara de ser Ruby quiz master.
Práctica code Katas, el idioma no importa mucho. Tratar de resolver los Katas que ya has hecho con otro idioma suele ser bastante eficiente para aprender un nuevo idioma.
Siempre se puede visitar Freshmeat, encontrar algunos proyectos que le interesen y buscar en su gestor de fallos. Toma el código e intenta solucionar algunos de los problemas.
Esto ayuda código abierto mientras que también ayuda a acostumbrarse a saltar al código de otra persona con gafas de depuración sucesivamente.
- 1. ¿Cómo encontrar soluciones y problemas de memoria? C#
- 2. Problemas UTF32 y C#
- 3. NuGet y múltiples soluciones
- 4. Problemas con CMake y Visual C++ 2010
- 5. Buenos ejemplos de soluciones imperativas versus funcionales para problemas prácticos
- 6. ¿Dónde puedo encontrar buenos problemas de python con soluciones?
- 7. Dojo y soluciones de plantillas
- 8. Soluciones duplicadas
- 9. Objetivo-c: Problemas con bloques y NSEnumerationConcurrent
- 10. cómo acelerar la compilación de soluciones grandes de C#
- 11. Un buen banco de soluciones de recursión en C/C++/Java/C#
- 12. Buffers de protocolo, obtener C# para hablar con C++: escribir problemas y problemas de esquema
- 13. Problemas de fecha y hora con Mongo y C#
- 14. Organización de soluciones, proyectos y SVN
- 15. ¿Cómo organizar "proyectos" y "soluciones" en Eclipse?
- 16. Soluciones de almacenamiento en caché y consultas
- 17. TFS y proyectos compartidos en soluciones múltiples
- 18. C++ Boost.Python: 2 problemas
- 19. C++: Problemas de constructor
- 20. problemas iterador C++
- 21. Solución de problemas en C++ con STL
- 22. Desactivar arrastrar y soltar en el explorador de soluciones
- 23. Problemas con TypeScript y TFS
- 24. Problemas de estabilidad con WPF MediaElement (MediaFailed, video en cámara lenta), ¿hay soluciones alternativas?
- 25. ¿Cómo puedo aplicar varias soluciones rápidas para problemas de Checkstyle del mismo tipo?
- 26. La complejidad de verificar soluciones para problemas de optimización de NP-hard?
- 27. Problemas con cadenas en C
- 28. C# WPF - Problemas ScrollViewer + TextBlock
- 29. Problemas antiguos de "Informe C++"?
- 30. C# Crystal ¿Tiene problemas con el informe y el gráfico?
@ James Eso debería ser una respuesta: P 1 –
@Seth: supongo que debería. Fijo. :-) –
OP: actualizó la pregunta original, con una respuesta. –