Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Défis] Recensement et informations

2 septembre 2011 à 18:29:38

Présentation


Les défis


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.


Recensement des défis



Actuellement



#12 zDessin

Tous les défis


Titre Description Type Thème Auteur(s) Code référence Auteur
#1 zMol, la chimie pour tous Image utilisateur Calculateur de masse molaire Console Chaînes de caractères, lecture de fichiers. _Fender_
-
-
#2 Le jeu de la vie ! Image utilisateur Le jeu de la vie SDL Tableaux, algorithmie _Fender_, GuilOooo
-
-
#3 Des sudokus en folie ! Image utilisateur Solveur de grille de sudoku. Console Algorithmie GuilOooo
-
-
#4 Faisons une vraie calculette ! Image utilisateur Parser mathématiques. Console Chaînes de caractères, Algorithmie GuilOooo
-
-
#5 Un chronomètre Image utilisateur Un chronomètre Console Gestion du temps @che
-
-
#6 Dessinez la courbe du dragon Image utilisateur Fractale : la courbe du dragon Graphique Récursivité, SDL, algorithmique yoch
-
-
#7 Un correcteur orthographique efficace Image utilisateur Correcteur orthographique Console Algorithmique GuilOooo
-
-
#8 Tout en Base64 Image utilisateur Étude du codage Base64 Console Algorithmique @che
-
-
#9 La recherche en génétique Image utilisateur Recherche de sous-chaines Console Algorithmique GuilOooo
-
-
#10 Le mini moteur SQL Un petit moteur SQL Console Algorithmique GuilOooo
-
-
#11 zPrintf Recoder printf Console Algorithmique, arguments variables, LibC informaticienzero
-
-
#12 zDessin Manipuler son propre format BMP Console et SDL Algorithmique, Fichiers binaires SylafrsOne, Maëlan
-
-


F.A.Q.



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. :p 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. ;)

<code type="c">/* Votre code ici */</code>
Plus d'informations sur les balises de code :
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
4 septembre 2011 à 19:27:12

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. ^^
  • Partager sur Facebook
  • Partager sur Twitter
23 septembre 2011 à 14:47:47

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.
  • Partager sur Facebook
  • Partager sur Twitter
La valeur d'un chien dépend de sa fidélité a l'homme
24 septembre 2011 à 18:34:43

Je suis quand même triste, le 4ème 'défi' n'est pas là, il a déjà 1 jour de retard ! :'(
  • Partager sur Facebook
  • Partager sur Twitter
24 septembre 2011 à 19:11:12

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.
  • Partager sur Facebook
  • Partager sur Twitter
Staff désormais retraité.
24 septembre 2011 à 19:11:41

C'est toutes les deux semaines maintenant !

EDIT : grilled.
  • Partager sur Facebook
  • Partager sur Twitter
"If debbugging is the process of removing bugs, then programming must be the process of putting them in." (Edsger Dijkstra)
26 septembre 2011 à 19:16:34

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.
  • Partager sur Facebook
  • Partager sur Twitter
26 septembre 2011 à 19:18:05

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.
  • Partager sur Facebook
  • Partager sur Twitter
"If debbugging is the process of removing bugs, then programming must be the process of putting them in." (Edsger Dijkstra)
3 octobre 2011 à 19:45:56

Citation : Lebrian

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.

(fin du message inutile.)
  • Partager sur Facebook
  • Partager sur Twitter
3 octobre 2011 à 20:24:29

Maëlan> et moi donc... :-° Chacun son rythme.
  • Partager sur Facebook
  • Partager sur Twitter
31 octobre 2011 à 21:41:19

Je pense essayer faire les exercices, donc je poste pour suivre.
  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2011 à 9:34:59

C'est bien, il y a pas mal de monde aux Défis, ça motive :D
  • Partager sur Facebook
  • Partager sur Twitter

🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.

21 novembre 2011 à 19:55:19

On est passé à 1 mois pour les 'défis' ? :)
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
21 novembre 2011 à 21:25:13

Je pense que c'est pour éviter de mettre trop d'exos pour que personne ne les fasse. Déjà que y'a pas foule.
  • Partager sur Facebook
  • Partager sur Twitter
14 décembre 2011 à 15:08:06

Je suis sur le topic. Un amateur de défi de plus.
  • Partager sur Facebook
  • Partager sur Twitter
qry = 2b || !2b
9 janvier 2012 à 21:57:08

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.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 mai 2012 à 14:55:59

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.
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 16:08:04

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).
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 mai 2012 à 16:10:06

C'est vrai que ça aurait été sympa. Personnellement ça m'aurait plus. Dommage. Sinon le printf, t'en pense quoi ?
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 18:40:26

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.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 mai 2012 à 18:50:35

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.
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 18:52:07

Citation : informaticienzero

le but étant d'utiliser le moins de fonctions possible.


Ah ?
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 mai 2012 à 19:07:54

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. :)
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 19:08:40

write ? :euh: Pourquoi utiliser le non portable ?
  • Partager sur Facebook
  • Partager sur Twitter
Staff désormais retraité.
Anonyme
13 mai 2012 à 19:11:59

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 ?
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 19:21:52

Citation : informaticienzero

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. :)



Tiens, regarde mon implémentation :

#include <stdarg.h>
#include <stdio.h>

#undef printf

int printf(char const* fmt, ... ) {
            va_list  (      ___ ) ;
            va_start ( ___, fmt ) ;
int         va                    =
            vprintf  ( fmt, ___ ) ;
            va_end   ( ___      ) ;
    return  va                    ;
                                  }

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.
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 19:33:18

write -> POSIX
fwrite -> C89
  • Partager sur Facebook
  • Partager sur Twitter
Staff désormais retraité.
Anonyme
13 mai 2012 à 20:23:58

@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. :)
  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2012 à 21:14:49

Citation : informaticienzero

Non pour vraiment recoder printf, il faut aussi recoder vsnprintf, et donc gérer les différents arguments (%s, %c, %x, etc).


Ah, je m’en doutais !
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 mai 2012 à 21:20:10

Citation : Maëlan

Citation : informaticienzero

Non pour vraiment recoder printf, il faut aussi recoder vsnprintf, et donc gérer les différents arguments (%s, %c, %x, etc).


Ah, je m’en doutais !



Je sais que tu sais, je précise juste les choses au cas où. :p
  • Partager sur Facebook
  • Partager sur Twitter