
| Page Précédente 1 2 3 ... 12 13 14 15 16 17 18 ... 50 51 52 53 Suivante | |||||
| Auteur | Message | ||||
|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||||
| Page Précédente 1 2 3 ... 12 13 14 15 16 17 18 ... 50 51 52 53 Suivante | |||||
May_Hop
|
# Posté le 13/01/2009 à 21:06:32 | ||||
![]()
|
Reprise du dernier message de la page précédente :
Citation : crys'D'accord, mais alors dans le default, il faut rempiler ce que tu as dépilé au début. Moi, je préfère dépiler uniquement quand c'est nécessaire. Ah oui. Mais bon en même temps il suffit de rajouter une seule condition. La lisibilité du code serait largement mieux ! Quand tu fais un copier/coller dans un code, car c'est l'origine de cette répétition (sauf si erreur ), il faut se poser des questions et voir si on ne peut pas éviter ces répétitions.
|
||||
shareman
|
# Posté le 13/01/2009 à 21:56:45 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Citation : May_Hop
Quand tu fais un copier/coller dans un code, car c'est l'origine de cette répétition (sauf si erreur ), il faut se poser des questions et voir si on ne peut pas éviter ces répétitions.C'était tout réfléchi, ne t'inquiète surtout pas.
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
May_Hop
|
# Posté le 14/01/2009 à 10:26:48 | ||||
![]()
|
Je m'inquiète plutôt pour les débutants qui vont lire ton code et le prendre comme exemple. Car je trouve que tu donnes une mauvaise habitude. Mieux vaut découper son code en de multiples fonctions ... La relecture, ou une possible amélioration du code est d'autant plus facile.
|
||||
shareman
|
# Posté le 14/01/2009 à 19:13:18 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Titre : zGame
mois : Janvier Sujet : Révisions du cours de M@teo21 L'exercice !L'exercice de ce mois-ci sera : un jeu : zGame ! Ce jeu sera d'un niveau simple afin qu'un maximum de débutants en C puissent le coder. Il est dans le même style que le jeu du pendu proposé par M@teo21 ici (lien). Il va vous permettre de pratiquer, mais pas contre, il n'y a pas de thème bien particulier, vous allez devoir réutiliser quasiment tout ce que vous savez (variables, conditions, boucles, nombres pseudo-aléatoires, calculs, etc.). En plus, vous ne perdez rien, en vous entraînant, vous réalisez un jeu amusant et utile ! Let's go.Le but du jeuzGame est un grand classique parmi les jeux que l'on réalise pour s'entraîner. Le programme vous tire une série de dix calculs mathématiques sur les tables de multiplication (oui, ceux qu'on bosse en primaire ). Le but du jeu est de trouver la bonne réponse à ces calculs le plus rapidement possible et en faisant le moins d'erreurs possibles.À quoi doit ressembler votre programme ?Le programme .. c'est à vous de le faire. ![]() Vous allez donc commencer par afficher le nom du jeu (j'ai pris zGame, mais vous le nommez comme vous voulez) ainsi qu'une rapide présentation des règles. Ensuite, vous soumettez le joueur (l'utilisateur de votre programme) à une série de dix calculs comportant obligatoirement que 2 facteurs (un facteur, c'est l'un des termes d'une multiplication). Ces facteurs doivent obligatoirement être des nombres entiers compris entre 0 et 10, les deux inclus, et tirés pseudo-aléatoirement ! À la fin de cette série de calculs, vous affichez le temps total qu'a mis le joueur pour trouver les réponses (c'est parfois amusant ) ainsi que le nombre d'erreurs qu'il a pu faire.On peut par exemple imaginer ceci : Code : Console
Pour le calcul du temps qu'a mis le joueur à résoudre la série des dix calculs, jetez un oeil à la correction de zTri (lien). Pour le tirage des valeurs pseudo-aléatoires, j'utilise rand()%11 ce qui tire une valeur entre 0 et 10, les deux inclues. Je vous conseille aussi de lire le tutoriel de Natim sur les nombres aléatoires (lien). Je crois que vous avez suffisamment d'informations, maintenant, c'est à vous de coder ! Au boulot ! Je posterai la correction dans trois semaines. Je donnerai plus de détails sur cette date dés que possible. Have a lot of fun ! crys
Édité
le 14/01/2009 à 19:33:15
par shareman
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
candide
|
# Posté le 15/01/2009 à 00:14:20 | ||||
"In C ode we trust"![]()
|
Citation : crys'
Ce jeu sera d'un niveau simple afin qu'un maximum de débutants en C puissent le coder. Je le trouve trop complexe. Citation : crys' En plus, vous ne perdez rien, en vous entraînant, vous réalisez un jeu amusant et utile ! (...) zGame est un grand classique parmi les jeux que l'on réalise pour s'entraîner. Pour une complexité identique, j'aurais trouvé plus excitant de coder mots/minute.
|
||||
Eusebus
|
# Posté le 15/01/2009 à 01:45:08 | ||||
Geek mangeur de cookies![]()
|
Je viens de terminer l'exercice, mais...
Petite question : les fonctions fgets et scanf sont blocantes, ainsi l'utilisation de clock() n'est pas possible par non représentative du temps qu'il est réellement écoulé (vu que clock() regarde uniquement le temps à partir de l'utilisation cpu). J'ai utilisé les fonctions time() et difftime() pour calculer le temps de l'exercice, néanmoins la précision n'est que de la seconde. Alors, certes, dans un tel exercice, les millièmes n'ont pas vraiment d'importance et ma solution marche parfaitement. Mais existerait-il une alternative pour obtenir une telle précision ?
Édité
le 15/01/2009 à 01:45:33
par Eusebus
"Ce qui est affirmé sans preuve peut être nié sans preuve" Euclide "Tout ensemble inductif admet au moins un élément maximal." Lemme de Zorn |
||||
candide
|
# Posté le 15/01/2009 à 01:49:42 | ||||
"In C ode we trust"![]()
|
Citation : Eusebus
Mais existerait-il une alternative pour obtenir une telle précision ? De façon portable, je ne pense pas.
|
||||
shareman
|
# Posté le 15/01/2009 à 18:49:28 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Citation : candide
Je le trouve trop complexe. Il n'est en aucun cas plus complexe que le pendu. Citation : candide Pour une complexité identique, j'aurais trouvé plus excitant de coder mots/minute. Je ne suis pas du tout d'accord. Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
L'Ombre Blanche
|
# Posté le 16/01/2009 à 19:08:41 | ||||
Hommage à Ewilan.![]()
Ville : Lyon |
Yeah, je m'y met tout de suite
, dommage que ça ne parle pas de pointeurs...(Ou alors je suis vraiment nul et je les ai pas vu passé... )
|
||||
shareman
|
# Posté le 16/01/2009 à 21:42:22 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Non, il n'y a pas encore eu d'exercice ayant uniquement pour but de vous entraîner aux pointeurs. Ca ne va pas tarder.
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
Jaloyan1
|
# Posté le 16/01/2009 à 22:17:35 | ||||
Sms = portable,forum = clavier![]()
|
tiens belle initiative de proposer un tel jeu, mais j'aurai fait un niveau 2 qui consistait à utiliser les + - * /
niveau 2 : faire des équations du 1er degré(assez simple pour du cacul mental) et niveau 3 : des identités remarquables(tel que (x+5)² ou 31²) à développer(ça c'est plus dur).
Édité
le 16/01/2009 à 22:18:24
par Jaloyan1
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. int x = 0;
x >?= (a < b)?((a < c)?((a < d)?a:d):((c < d)?c:d)):((b < c)?((b < d)?b:d):((c < d)?c:d));
Quelqu'un a compris ce que ce code fait? |
||||
zx-spectrum
|
# Posté le 16/01/2009 à 22:22:03 | ||||
http://www.worldofspectrum.org![]()
|
Citation : Jaloyan1
tiens belle initiative de proposer un tel jeu, mais j'aurai fait un niveau 2 qui consistait à utiliser les + - * / niveau 2 : faire des équations du 1er degré(assez simple pour du cacul mental) et niveau 3 : des identités remarquables(tel que (x+5)² ou 31²) à développer(ça c'est plus dur). je crois pas que c'est nécessaire de compliquer à outrance, c'est fait pour les débutants, pour qu'un maximum de participants puisse réaliser "quelque chose" car pour l'instant a priori on est que 6 ou 7 a avoir fait tous les exo jusqu'a present ! @+ |
||||
birdroun
|
# Posté le 16/01/2009 à 22:36:09 | ||||
|
|
Avec le rand j'ai vachement de mal a obtenir des bon nombres aleatoires
Souvent le meme nombre se repete sur la ligne suivant si on est rapide vu que sa se base sur le temps :/ Et j'arrive pas a utliser la fontion hasard donnée Enfin je vais revoir sa |
||||
Eusebus
|
# Posté le 16/01/2009 à 22:55:44 | ||||
Geek mangeur de cookies![]()
|
Petite astuce pour srand(). Au lieu de faire
Code : C
on peut aussi faire un Code : C
getpid() est définie dans unistd.h "Ce qui est affirmé sans preuve peut être nié sans preuve" Euclide "Tout ensemble inductif admet au moins un élément maximal." Lemme de Zorn |
||||
freecircus
|
# Posté le 16/01/2009 à 23:06:17 | ||||
"Se coucher tard nuit"![]()
|
Citation : birdroun
Avec le rand j'ai vachement de mal a obtenir des bon nombres aleatoires Souvent le meme nombre se repete sur la ligne suivant si on est rapide vu que sa se base sur le temps :/ Si le même nombre se répète dans la même seconde, c'est que tu appelles srand(time(NULL)) à chaque fois que tu veux générer un nombre aléatoire, alors que srand() ne sert qu'à initialiser le générateur. Appel srand() une fois au début de main() et seulement rand() quand tu as besoin d'un nouveau nombre aléatoire
Édité
le 16/01/2009 à 23:07:21
par freecircus
|
||||
Floooder
|
# Posté le 16/01/2009 à 23:07:44 | ||||
|
|
Citation
Petite astuce pour srand(). Au lieu de faire Code : C
on peut aussi faire un Code : C
getpid() est définie dans unistd.h Oui, ou alors utiliser le dow jones la temperature a vladivostock, et rajouter l'age du capitaine... Ce qui ne changera pas grand chose au resultat Citation Avec le rand j'ai vachement de mal a obtenir des bon nombres aleatoires Souvent le meme nombre se repete sur la ligne suivant si on est rapide vu que sa se base sur le temps :/ Et j'arrive pas a utliser la fontion hasard donnée Enfin je vais revoir sa Il faut que tu n'utilise srand qu'une seule fois dans tout ton programme. Met le au debut du main, avant toutes les boucles. Ca devrait resoudre ton problème /grilled
Édité
le 16/01/2009 à 23:09:06
par Floooder
|
||||
Eusebus
|
# Posté le 16/01/2009 à 23:49:39 | ||||
Geek mangeur de cookies![]()
|
Citation : Flooder
Oui, ou alors utiliser le dow jones la temperature a vladivostock, et rajouter l'age du capitaine... Super constructif, merci. D'autant plus que personnellement j'ai observé un changement entre les deux. Mais bon, c'est surement du à l'âge du capitaine... "Ce qui est affirmé sans preuve peut être nié sans preuve" Euclide "Tout ensemble inductif admet au moins un élément maximal." Lemme de Zorn |
||||
python-guy
|
# Posté le 16/01/2009 à 23:54:29 | ||||
Vive archLinux.![]()
|
|||||
birdroun
|
# Posté le 17/01/2009 à 00:23:46 | ||||
|
|
Maintenant j'aimerais bien savoir comment faire pour aligner les multiplications je m'explique
Code : Console
ce resultat serait mieu Code : Console
car j'aimerais ajouter juste apres la bonne reponse colorée en vert si juste et en rouge si faux 9 * 8 = 72 2 * 3 = 6 10 * 4 = 30 ==> 40 10 * 10 = 100
Édité
le 17/01/2009 à 00:24:31
par birdroun
|
||||
Eusebus
|
# Posté le 17/01/2009 à 00:29:19 | ||||
Geek mangeur de cookies![]()
|
Citation : python-guy
Un changement dans de l'aléatoire, mouais. C'est du pseudo-aléatoire, pas de l'aléatoire pur... Bref, le topic n'est pas là pour débattre de cela. "Ce qui est affirmé sans preuve peut être nié sans preuve" Euclide "Tout ensemble inductif admet au moins un élément maximal." Lemme de Zorn |
||||
mota
|
# Posté le 17/01/2009 à 18:32:05 | ||||
Berserkr qui mord![]()
études : Epitech |
Citation : birdroun
Maintenant j'aimerais bien savoir comment faire pour aligner les multiplications man printf(3) It's me ! |
||||
python-guy
|
# Posté le 17/01/2009 à 19:13:39 | ||||
Vive archLinux.![]()
|
Citation : mota
Citation : birdroun Maintenant j'aimerais bien savoir comment faire pour aligner les multiplications man printf(3) man 3 printf |
||||
mota
|
# Posté le 17/01/2009 à 19:26:02 | ||||
Berserkr qui mord![]()
études : Epitech |
Citation : python-guy
Citation : mota Citation : birdroun Maintenant j'aimerais bien savoir comment faire pour aligner les multiplications man printf(3) man 3 printf bon bah si tu veux jouer au plus cretin: printf(3) Voila, c'est correct pour de bon. It's me ! |
||||
candide
|
# Posté le 17/01/2009 à 19:51:23 | ||||
"In C ode we trust"![]()
|
Citation : mota
man printf(3) Dans le genre aide-pour-enfoncer c'est réussi. Un petit exemple vaut mieux qu'une long page man : Code : C
Code : Console
EDIT : Sans compter qu'il existe d'autres façons de résoudre le problème.
Édité
le 17/01/2009 à 19:52:48
par candide
|
||||
mota
|
# Posté le 17/01/2009 à 20:19:37 | ||||
Berserkr qui mord![]()
études : Epitech |
Citation : candide
Un petit exemple vaut mieux qu'une long page man : Non. Donner une solution n'est jamais un bon conseil. D'ailleurs, tu donnes ton exemple sans expliquer le pourquoi de la syntaxe, ce a quoi elle correspond, quel est son nom, j'en passe et des meilleurs. Dans le genre aide-pour-encourager-l'ignorance, c'est reussi. man est un bon conseil, on y trouve toujours ce que l'on cherche, sauf si on est faineant.
Édité
le 17/01/2009 à 20:25:42
par mota
It's me ! |
||||
zx-spectrum
|
# Posté le 17/01/2009 à 21:20:02 | ||||
http://www.worldofspectrum.org![]()
|
bonjour:
pour motta et phyton guy = -1 Je vous rapelle qu'il y a des novices, c'est pas la peine de les décourager, surtout que la demande de birdroun est "propre". Si vous n'avez pas envie de lui repondre, abstenez vous ! Candide lui donne une solution correcte, qu'il peut tester, la moindre des choses c'est de respecter son choix ! Faites un "feed back " du temps ou vous avez débuté. Vous avez oublié ? @+ |
||||
Camp0us
|
# Posté le 17/01/2009 à 21:24:11 | ||||
Fichtre !!![]()
|
Petite solution pour zBinary (compréhensible pour des gens ayant mon niveau...)
Rien ne vaut la musique et le cinéma |
||||
shareman
|
# Posté le 17/01/2009 à 21:42:23 | ||||
charlotte <3![]()
Ville : Mertzwiller |
L'algorithme que tu utilises est le même que celui utilisé dans la première solution donnée ici (lien).
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
zx-spectrum
|
# Posté le 17/01/2009 à 21:43:31 | ||||
http://www.worldofspectrum.org![]()
|
Citation : Camp0us
Petite solution pour zBinary (compréhensible pour des gens ayant mon niveau...)
effectivement c'est une solution (par division successive, dans la correction il en existe d'autre. Si tu l'as fait tout seul c'est bien, c'est un bon début. --> avec cette méthode si tu fait des divisions succesives par un nombre a, et non par deux, tu obtients ta conversion en base a @+ |
||||
candide
|
# Posté le 17/01/2009 à 23:35:00 | ||||
"In C ode we trust"![]()
|
Citation : mota
man est un bon conseil, on y trouve toujours ce que l'on cherche, sauf si on est faineant. Ben on n'a plus qu'à fermer le forum C du sdz qui est parcouru par un ramassis de fainéants et donner un lien vers les pages man ou, plutôt, vu qu'il est préférable de s'adresser à Dieu qu'à ses saints, un lien vers la Norme du langage C. Et quand je parcours les messages que tu as postés sur le forum C du sdz, je vois que t'es bon pour donner des conseils mais jamais pour produire du code, du vrai code C. T'en fais pas je ne suis pas dupe. "In code we trust".
|
||||
mota
|
# Posté le 18/01/2009 à 01:53:25 | ||||
Berserkr qui mord![]()
études : Epitech |
J'ai pondu un code pour une correction d'un exercice ici parce que j'estimais que le sujet n'employait pas un vocabulaire exact. A toi de le retrouver, et si tu ne trouves pas beau, tant pis pour toi.
Avant d'etre dans une ecole j'ai toujours ete voir les man et maintenant que j'y suis, mes habitudes ne changent pas, a l'exception pres qu'avec un peu plus de niveau je vais aussi voir le code des outils dont je dispose, par simple curiosite. Cette meme curiosite est un reel atout, en particulier en informatique, et boire les paroles d'un tiers ne mene jamais rellement a quelque chose de productif, que le demandeur de solution soit novice, ou non. Donc oui, "man" est un excellent conseil. Quant a la fermeture du forum C, je ne vois pas l'interet de sortir une telle extrapolation autre que pour aggraver tes propos et discrediter les miens : ) It's me ! |
||||
Retour au forum "Langage C" ou à la liste des forums
Le Site du Zéro vous proposera bientôt de nouveaux cours partant de Zéro dans d'autres domaines que l'informatique !

