Les défis constituent la nouvelle vague d'exercices en C. Un défi sera proposé toutes les semaines, le vendredi aux alentours de 18H30. Tous les défis seront recensés dans ce topic, les intéressés pourront ainsi choisir de s'entrainer sur un défi plus ancien.
Des codes références sélectionnés par l'équipe organisatrice feront office de corrections. Pour les consulter, un lien sera disponible dans le tableau ci-dessous et en dessous de chaque défi.
Remerciements
GuilOooo : modérateur en charge du forum C, il est à l'initiative de ces défis, a proposé une longue liste de ceux-ci et en a rédigé beaucoup.
L'équipe organisatrice : _Fender_, GuilOooo, yoch, InfernoLeZéro, @che, neowillow, lucas-84 et schadocalex qui ont participé aux discussions de préparation de ces défis.
Tous les zéros participants : Sans eux, il n'y aurait pas de défis, on espère tous que les participants seront nombreux.
Je suis débutant en langage C, quelles notions dois-je maîtriser pour réaliser ces défis ?
Afin de suivre, il est nécessaire d'avoir lu le tutoriel C de M@teo21, au moins les deux premières parties. La troisième partie sur la SDL n'est nécéssaire qu'en cas de défis portant sur la SDL.
Où dois-je poster mon code ?
Vous pouvez poster votre code sur le sujet de l'exercice que vous réalisez, ce n'est que là-bas que l'on pourra vous aider à améliorer votre code.
Je ne supporte la critique et/ou j'ai peur de me ridiculiser en postant mon code !
Pourtant, c'est la seule manière pour vous de progresser. Les commentaires qui vous permettront d'améliorer votre manière de programmer seront constructifs et ne jugeront pas votre personne !
Aide
Les balises codes
N'oubliez pas de mettre votre code entre des balises adaptées. Cela permettra une lecture plus facile de celui-ci.
<codetype="c">/* Votre code ici */</code>
Plus d'informations sur les balises de code :
Ah, je les attendais avec impatience.
Bonne chance pour la rédaction et merci aux auteurs des ces exercices c'est toujours un plus à tout ceux qui cherchent à pratiquer et progresser.
Salut les gens!
Je remercie grandement toute l'equipe organisatrice car ca fait un bon bout de temps que je cherche des exercices pour m'entrainer, pour progresser.Donc avec cette iniative ca va etre une partie de plaisir pour moi.
Merci encore une fois.
La valeur d'un chien dépend de sa fidélité a l'homme
En fait, on a décidé de changer la fréquence en 1 fois tous les quinze jours car certains se plaignaient qu'ils n'avaient pas le temps de le faire en si peu de temps. Ce n'est pas encore officiel, mais ça devrait bientôt l'être.
Il y en aura pour qui 15 jours ne suffiront pas (j'y suis) et c'est pas pour autant qu'on devra modifier aussi pour les prendre en compte. Le but n'est pas de pondre un code en 01 semaine chrono mais plutôt de s'entrainer.
Mais surtout que rien interdit de faire un défi en 1 mois et de le poster sur le topic. C'est d'ailleurs à ça que sert ce topic, à recenser tous les défis.
"If debbugging is the process of removing bugs, then programming must be the process of putting them in." (Edsger Dijkstra)
Il y en aura pour qui 15 jours ne suffiront pas (j'y suis) et c'est pas pour autant qu'on devra modifier aussi pour les prendre en compte. Le but n'est pas de pondre un code en 01 semaine chrono mais plutôt de s'entrainer.
Personnellement j'ai les défis 2, 3 et 4 à rattraper. Oui, ça faisait un bail que je n'avais pas touché à un matériel plus ou moins informatique.
Merci donc à ceux qui ont décidé de ralentir la fréquence.
Je suis intéressé, mais je ne sais pas trop si j'ai le temps en ce moment
Je suivrais de temps en temps, mais y'a des chances pour que je ne poste pas mes codes à l'heure (genre 2/3 mois de retard )
EDIT: je me contenterais de faire les exercices sans poster, parce que je veux les faire en C++, je suis en plein dedans.
Je me permet de remonter le topic, pour savoir s'il y avait d'autres défis en préparation ou bien si le projet est mort. J'espère que non, c'était une bonne idée, faudrait qu'elle continue de vivre.
Si personne n'a d'idée, pourquoi ne pas recoder printf ? Une version simplifiée, ça pourrait être un bon exercice.
Avec SylfrsOne, on préparait un exo de gestion d’un format d’image un peu comme BMP. Il était presque prêt, mais maintenant au point mort malheureusement. Regardes ici (sauf qu’un gentil modérateur a fermé le topic).
C’est déjà un peu proposé (avec un code solution) dans un tuto du site. Mais c’est vrai que ça peut être sympa.
Cependant, je me demande si ça a sa place dans les défis. Là, la consigne est assez simple et limitée (coder printf, un point c’est tout). Un défi est plus ouvert et moins guidé. Et la principale difficulté sera sans doute de gérer le nombre variable d’arguments.
Mouais, ça ne donne pas vraiment d'aide. Par exemple rien que pour afficher un nombre il faut réfléchir à comment le convertir en chaîne de caractères.
Du coup c'est vrai qu'on recode une fonction donnée, mais ça pousse quand même à bien réfléchir à ce que l'on fait, le but étant d'utiliser le moins de fonctions possible.
Pour que ce soit amusant oui le but est d'en utiliser le moins possible. Par exemple, dans ma version (ie.mon embryon de code), je n'utilise que write et va_arg. Ça force à bien choisir les fonctions que l'on utilise, et donc ça fait réfléchir et ça fait découvrir les mécanismes du C.
La fonction write n'est pas portable ? Elle est pourtant disponible sous Windows et les UNIX-like. Après je ne fais que suivre l'énoncé que m'a passé SofEvans qui réclame d'utiliser write, certainement parce qu'ils compilent sur les BSD dans son école.
Mais au final, write ou fwrite, y'a pas beaucoup de différence si ?
Pour que ce soit amusant oui le but est d'en utiliser le moins possible. Par exemple, dans ma version (ie.mon embryon de code), je n'utilise que write et va_arg. Ça force à bien choisir les fonctions que l'on utilise, et donc ça fait réfléchir et ça fait découvrir les mécanismes du C.
J’ai utilisé qu’une seule fonction (oui, je sers à rien).
Plus sérieusement, tu voulais dire d’utiliser le moins de fonctions externes possible ? J’avais compris que tu voulais réduire au minimum le nombre de fonctions codées.
@Maëlan : oui en utilisant le moins de fonction externe possible. Non pour vraiment recoder printf, il faut aussi recoder vsnprintf, et donc gérer les différents arguments (%s, %c, %x, etc).
@Lucas-84 : juste une différence de normalisation alors ? Rien de trop grave j'ai envie de dire.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.