Partage

[Exercices] Venez vous entraîner !

Ce mois: Parseur de fonctions mathématiques

19 juin 2008 à 21:46:05

Les débutants peuvent pas faire ton dernier exo a 100% non plus ^^
19 juin 2008 à 21:48:57

Non, c'est pour ça qu'il y a différents niveaux et que celui de début juin est encore "ouvert". J'ai ajouté des exercices pendant les vacances d'été qui sont un peu plus difficiles et plus techniques.
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
19 juin 2008 à 22:06:10

Pour une idée de niveau pour l'autre exercice, il faut porter l'algorithme de compression sur les bmp (c'est faisable moi je dis ! ^^ ).
19 juin 2008 à 22:12:27

Citation : Nanoc

Oui il y aura d'autres exercices de ce type. Pas tout de suite, je préfère altérener les genres.

Pour les templates, tu en as déjà 2 (BigInt et l'opérateur virgule). Je ne vois pas ce que tu entends par des exercices "spécifiques templates". Premièrement, c'est un aspect difficile et donc faire que des templates veut dire que les débutants ne peuvent pas faire. Et de plus les templates servent très souvent à généraliser des algorithmes (ou conteneurs) que l'on peut commencer par écrire pour un type spécifique.


OK OK. Pour les templates j'ai plus qu'à aller sur developpez trouver un tutorial sympa ^^ .
Anonyme
19 juin 2008 à 22:26:25

Au fait Nanoc, tu ne redigerais pas un tutoriel sur les templates? j'ai commencé a en rediger un mais si tu veux je te laisse ma place ;)
@+
Ps: Avec le brevet je n'ai pas beaucoup de temp pour programmer mais j'attaque tes exos des le 30 :pirate:
@+
19 juin 2008 à 22:29:24

ARGH, ça fait 1 heure que je bloque sur mon code... Rien que pour surcharger l'opérateur =, ça ne marche pas...

Voilà mon code pour surcharger l'opérateur égal, j'ai beau reregarder, je trouve pas mon erreur :/
Tableau Tableau::operator=(const int &nbr)
{
return Tableau(1,nbr);
}
19 juin 2008 à 22:34:13

Je suis en effet en train de rédiger un tutoriel sur la suite du C++. Les templates en feront partie bien évidemment.

@nono212: Postes pas trop de code dans ce thread. Si tu as des questions, crée un autre sujet. L'opérateur = doit il renvoyer un Tableau ?
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
19 juin 2008 à 22:35:48

1) je l'ai mis en secret ^^
2) eh bien, je vois pas ce qu'il pourrait renvoyer d'autre

Edit : il faudrait créer un autre classe apparamment (le code que j'ai mit sert a rien, enfin c'est normal qu'il marche pas, mais j'ai compris et en faisant quelques modifs...j'ai des erreurs :D )
23 juin 2008 à 20:31:45

Merci de ne pas poster trop de détails.
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
23 juin 2008 à 22:14:33

J'ai toujours pas réussi xD
23 juin 2008 à 22:18:08

C'est que c'est pas un exercice facile...
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
23 juin 2008 à 22:49:48

Disons qu'il y a quelques petites notions clés que vous n'avez pas encore vues. Une fois assimilées, l'exo est d'une facilité déconcertante. ^^'

(En fait, je me rends compte qu'il n'est pas si facile de trouver des exos indépendants et intéressants qui permettent de réviser les bases (p.ex. je qualifie mal l'écriture de classes date+durée et autres matrices+vecteurs d'intéressante -- même s'il s'agit des bases des classes à sémantique de valeur))
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
24 juin 2008 à 1:25:23

Salut, j'ai fini la compression et ça fonctionne parfaitement.
Ca se corse pour la décompression ^^

Par contre, dans le cadre où on ne connaîtrait pas les noms de fichiers, comment savoir si le fichier est compressé ou non?
Merci.
24 juin 2008 à 1:33:24

tu choisi une extension a ton fichier ;)
et puis la commande -d sert à ça :)
24 juin 2008 à 8:19:04

Pourtant j'ai les bases de la surcharge d'opérateurs... Mais mon compilateur, quelque soit le code, me trouve toujours une erreur ><
Je n'arrive même pas à surcharger l'opérateur égal :D
24 juin 2008 à 9:31:22

@Chaoxys: Ah ben ça... Tu peux essayer de "dé-zipper" un fichier pas zip et tu verras ce qui se passe. tu auras un message d'erreur. Tu peux essayer de faire la même chose ici. Si le format n'est pas correct -> un message d'erreur. Par exemple en utilisant les exceptions.
La solution de Bachir est correct mais ne résoud pas le problème. Je peux très bien renommer un fichier avec la mauvaise extension, ce qui ne résoudra pas le problème.

@lmghs : En effet, les classes concrètes sont rarement intéressantes. Les Vecteurs, Matrices, ... sont d'une part compliqué pour ceux qui n'ont pas les bases en maths et en plus absolument pas intéressant à coder si on regarde le programme finalement obtenu. C'est intéressant au niveau des techniques de programmation mises en jeu.
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
28 juin 2008 à 11:24:32

Bien bien, encore 2 jours avant de regarder tout ça.
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
29 juin 2008 à 16:39:20

Vous avez rien compris, c'est ps une vache, c'est ZOZOR!!!
1 juillet 2008 à 19:00:05

Exercice du mois de juillet 2008



Nom : Statistique sur les fichiers
Sujet : Fichiers, chaînes de caractères


Introduction



Comme M@teo21 a créé un concours C++ ce mois, l'exercice que je vous propose sera plus tranquille. On peut néamoins aller loin si l'on se plonge dans la documentation de la STL et qu'on essaie de faire le tout de manière propre.

A moins de vivre sur une autre planète, vous avez déjà utilisé un logiciel de traitement de texte. Vous aurez remarqué que dans ces logiciels il y a un petit module permettant de faire des statistiques sur le texte que vous êtes en train d'éditer.
Le but de l'exercice de ce mois sera de faire la même chose.

Votre programme



Votre programme devra fournir les services suivants:

1) Il devra recevoir un fichier en argument.
monProgramme mon_fichier_a_analyser.txt


2) Il devra ensuite fournir sous forme de tableau récapitulatif les informations suivantes :
  • Le nombre de caractères contenus dans le fichier
  • Le nombre de caractères sans les espaces
  • Le nombre de mots
  • Le nombre de paragraphes


Un espace correspond aux caractères espace, tabulation et retour à la ligne.
Un paragraphe est un bloc de texte séparé par des retours à la ligne.

L'affichage pourrait par exemple être de la forme suivante :
monProgramme mon_fichier_a_analyser.txt
Analyse en cours...
+--------------------------------------+----+
| Nombre de caracteres :               . 234|        
| Nombre de caracteres (hors espace) : . 187|
| Nombre de mots :                     .  48|
| Nombre de paragraphes :              .   2|
+--------------------------------------+----+


3) Offrir la possibilité de sauver ces statistiques dans un fichier si l'utilisateur le souhaite.


Comme d'habitude, je vous invite à vous informer via les tutoriels suivants :
Les fichiers
Les manipulateurs de flux (pour l'affichage)
Les exceptions (parce que c'est le meilleur moyen de gérer les erreurs).
Et évidemment le tutoriel de M@teo21 pour les bases.

Pour tester votre programme, prenez des textes complets, par exemple l'article de Wikipédia sur le C++. (Avec une photo superbe :D du créateur du C++)

Vous avez jusqu'au 31 juillet pour soumettre vos réponses à Réponse_Exercices.

Bonne chance à tous !

Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
1 juillet 2008 à 19:06:16

"Nombre de mots" ou "nombre de mots différents" ?
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
1 juillet 2008 à 19:08:52

Nombre de mots.
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
1 juillet 2008 à 19:19:44

c'eje trouve que cet exercice est le plus facile par excellence :)
1 juillet 2008 à 19:39:22

Citation : Nanoc

Exercice du mois de juin 2008



Ce ne serait pas plutôt :

Exercice du mois de juillet 2008

1 juillet 2008 à 19:42:43

oui... :)
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
1 juillet 2008 à 19:46:02

Voilà un exercice qui à l'air bien plus facile que les autres :) ...
1 juillet 2008 à 19:49:19

Oui, il en faut pour tout le monde.

Si tu cherches plus dur, il y a le sudoku, l'opérateur, l'exercice qui sort à la moitié du mois. Et cet exercice fait entièrement avec des itérateurs de flux, si on connait pas, c'est pas facile non-plus. :)
Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
1 juillet 2008 à 19:56:13

Euh, j'ai une question, quand vous dites paragraphe, c'est quand il y a un saut de ligne ou une tabulation?
1 juillet 2008 à 19:57:26

Citation : Nanoc


Un paragraphe est un bloc de texte séparé par des retours à la ligne.

Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
1 juillet 2008 à 20:03:19

Donc, en fait dès que t'as au moins 2 sauts à la ligne successifs, il y a un changement de paragraphe.