TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : Précédente 1 2 3 4 5 6 7 8 ... 14 15 16 17 Suivante | |||||||||||||||
| Auteur | Message | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||||||||||||||
| Page : Précédente 1 2 3 4 5 6 7 8 ... 14 15 16 17 Suivante | |||||||||||||||
Nanoc
|
# Posté le 02/05/2008 08:38:57 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Reprise du dernier message de la page précédente :
Citation : bombadilPour les opérateurs, le BigInt doit être aditionnable/comparable... avec uniquement d'autre BigInt ou aussi avec des Int,Float,Double ... ? Si tu codes un constructeur de BigInt à partir de int, tu n'auras besoin de coder que BigInt == BigInt, puisque la conversion int->BigInt se fera. @lmghs : Pour le stockage des nombres, il est clair que ce n'est pas optimal de stocker en base 10 et il est clair également que faire les opérations comme on les fait à la main n'est pas optimal non-plus. J'ai fait ce choix pour ne pas coincer les gens sur l'aspect mathématique. Le template n'apporte pas grand chose (un template "double" avec comme deuxième argument la base dans laquelle découper aurait sûrement été plus intéressant mais aussi bien plus complexe), mais il est là pour ceux qui cherchent à utiliser cet aspect du langage, dans un cas simple. Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
Jaloyan1
|
# Posté le 02/05/2008 19:23:19 | ||||||||||||||
Choisir = se priver du reste.![]() Groupe : Membres |
nanoc, j'ai les conversion de chaines-> GDentier et
Gdentier -> chaines J'ai aussi le produit mais pas l'addition, je comptais inclure ces fonctions dans la zérolib. Ca me fait marrer qu'il y a ca juste au moment ou je commençais le projet. Tu n'aurais pas piqué mon idée? Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. ![]() ![]() ![]() Chef du fan club de jaloyan1 |
||||||||||||||
Nanoc
|
# Posté le 03/05/2008 11:11:47 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Citation : Jaloyan1
Tu n'aurais pas piqué mon idée? Ce genre de classes est présente dans à peu près toutes les bibliothèques mathématiques... et dans tous les cours de programmation OO. T'as pas inventé la poudre...
Édité
le 04/05/2008 14:04:15
par Nanoc
Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
Jaloyan1
|
# Posté le 03/05/2008 12:27:09 | ||||||||||||||
Choisir = se priver du reste.![]() Groupe : Membres |
Citation : Nanoc
Citation : Jaloyan1 Tu n'aurais pas piqué mon idée? Ce genre de classes est présente dans à peu près toutes les bibliothèques mathématiques... d'accord j'ai rien dit. Mais c'est comme par hasard au moment ou j'ai commencé a travailler ce projet et que j'ai quelques bases que cet exercice est apparu. Ca fait un peu bizarre. Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. ![]() ![]() ![]() Chef du fan club de jaloyan1 |
||||||||||||||
djo0012
|
# Posté le 04/05/2008 13:54:36 | ||||||||||||||
|
Groupe : Membres |
Citation : Jaloyan1
Tu n'aurais pas piqué mon idée? comme j'ai dit c'Est pratiquement un des premier TP d'un de mes ami a l'université alors oui c'Est tres courant comme exercisse desoler pour le francais j'ai un manque de moliere en moi depuis un bout Citation : moi-memeSi vous n'arrivez pas a résoudre un problème c'est que vous n'avez pas assez travaillé dessus. |
||||||||||||||
Nanoc
|
# Posté le 04/05/2008 15:07:07 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Solution du mois d'avrilBonjour tout le monde ! Il est temps que je dévoile une solution pour l'exercice du mois d'avril. Vous avez été 20 à m'envoyer une solution. Parmis celles-ci seul 15 compilaient et 9 fonctionnaient correctement. Cependant, aucune des solutions proposées me satisfaisaient pleinement. La plus part étant bien trop complexes. Je vous fais donc part de ma solution. Partie "Papier-Crayon"Cette partie est la plus essentielle dans tout le processus de résolution du problème. Prenons donc un cas concret et étudions la manière de procéder que devra avoir notre programme final. Choisisson comme point de départ, une longueur maximale pour une ligne de 15 caractères et une phrase, par exemple "Salut les zéros! Comment allez-vous ?" On peut découper le programme en 3 étapes:
La première étape ne pose pas de problème d'algorithme, je vous propose donc de passer à la deuxième qui est bien plus intéressante. On veut découper la phrase en le moins de lignes possibles, il faut donc chercher le dernier espace dans la chaîne qui se trouve avant la limite des 15 caractère. Dans notre cas, il s'agit de l'esapce entre "les" e "zéros". Salut les_zéros! Comment allez-vous ? puisque l'espace suivant (entre le ! et "Comment") se trouve en 17ème position, ce qui est trop loin. En procédant de la sorte à partir de cet espace, on arrive finalement au découpage suivant: Salut les_zéros! Comment_allez-vous ?_ A partir de là, il est aisé de découper cette phrases en lignes de la bonne longueur en remplacant les espaces rouges par des retours à la ligne. Salut les zéros! Comment allez-vous ? On a ainsi terminé le découpage de la phrase. Il ne nous reste plus que la troisième étape. Pour afficher le message, il faut alors distinguer les 2 cas possibles :
Dans le premier cas, il nous suffit donc d'afficher le message entouré des "<" et ">" comme dans l'exemple initial. Dans le deuxième cas, c'est plus complqué. Il faut chercher la ligne la plus longue pour fixer la taille de la bulle. Ceci se fait en cherchant la plus grande "distance" entre 2 retours à la ligne. Dans notre cas, c'est entre le 1er et le deuxième, la plus longue ligne fait donc 14 caractères. Ce qui fixe la largeur de la bulle à afficher. Choix des structures de donnéesIl faut maintenant choisir quelle sera la structure de donnée la plus adaptée pour contenir la chaîne de caractère. En C++, la question ne se pose même pas, c'est le type std::string qu'il faut utiliser. On peut tout de même faire un tour dans la documentation pour voir si il y a des fonctions membres qui pourraient nous être utiles. Par exemple ici: www.cplusplus.com (en anglais). Parmi les fonctions qui pourraient nous être utiles, on peut trouver:
Ceci devrait nous permettre de nous en sortir au vu de l'algorithme que nous avons développé dans la partie précédente. Pour ce qui est de l'afficage d'une bulle de taille fixe, je vous propose une solution un peu plus avancée que de compter "bêtement" les espaces, il s'agit des manipulateurs de flux. Je vous invite à suivre ce lien si vous ne connaissez pas cet aspect du langage. ProgrammationA partir de ce qui a été développé précédemment, voici le code que l'on pourrait écrire : Code : C++
Il me semble que les commentaires situés dans le code devrait permettre de comprendre les étapes un peu plus complexes de l'algorithme proposé tout au début. J'ai choisi d'afficher un lapin pour changer un peu. Voici autrement le Zozor de Bombadil : Code : C++
Remarques sur les codes reçus
Il ne sert à rien d'envoyer votre code si il ne fonctionne pas ou pire, si il ne compile pas. Merci à tous ceux qui ont participé. Et bonne chance avec l'exercice suivant !
Édité
le 04/05/2008 15:35:07
par Nanoc
Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
Spaz
|
# Posté le 04/05/2008 15:55:59 | ||||||||||||||
|
Groupe : Membres |
Merci Nanoc
Tu as mon erreur de ma fonction découpe '^^ que j'avais pas renvoyé pour ce détail. il faut remplacer Code : C++
par Code : C++
Pour comprendre, avec l'ancien code, réduis la taille max à 10, et affiche le texte "je suis un essaiessaiessai"
Édité
le 04/05/2008 15:57:36
par Spaz
|
||||||||||||||
Hiura
|
# Posté le 04/05/2008 16:00:42 | ||||||||||||||
![]() Groupe : Membres |
Tout d'un coup je comprends pourquoi mon code était long.
![]() Merci pour cette correction éclairante! |
||||||||||||||
Nanoc
|
# Posté le 04/05/2008 16:39:08 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Disons qu'il était plus long que la moyenne
Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
devy
|
# Posté le 04/05/2008 17:50:49 | ||||||||||||||
|
Groupe : Bannis |
phrase = phrase + " " + argv[i];
Hum, pourquoi ne pas utiliser += ? |
||||||||||||||
Nanoc
|
# Posté le 04/05/2008 20:06:45 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Essaies pour voir^^
Quand tu fais string += char* + char*, cela fait en réalité: string += (char* + char*). Or l'opérateur + entre 2 char* n'est pas défini. C'est une question de priorité des opérateurs. On est obligé de faire : string = string + char* + char* qui se lit comme : string = (string + char*) + char* string = (string + char*) string = string Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
devy
|
# Posté le 04/05/2008 20:31:48 | ||||||||||||||
|
Groupe : Bannis |
bah phrase += string(" ") + argv[i] alors :-'
|
||||||||||||||
total chaos
|
# Posté le 04/05/2008 21:15:40 | ||||||||||||||
le C++, j'en mange!![]() Groupe : Bannis |
suffit de faire:
( string += char* )+ char*;
|
||||||||||||||
lmghs
|
# Posté le 04/05/2008 22:44:18 | ||||||||||||||
|
Groupe : Membres |
"( string += char* )+ char*;"
Marchera pas comme attendu, contrairement à la solution de devy. |
||||||||||||||
total chaos
|
# Posté le 04/05/2008 23:06:26 | ||||||||||||||
le C++, j'en mange!![]() Groupe : Bannis |
ça marchera si operator+= retournait &this
|
||||||||||||||
lmghs
|
# Posté le 04/05/2008 23:46:04 | ||||||||||||||
|
Groupe : Membres |
Cela ne sert à rien. La valeur est perdue.
|
||||||||||||||
total chaos
|
# Posté le 05/05/2008 00:40:19 | ||||||||||||||
le C++, j'en mange!![]() Groupe : Bannis |
|||||||||||||||
lmghs
|
# Posté le 05/05/2008 01:21:30 | ||||||||||||||
|
Groupe : Membres |
+() ne modifie pas ses arguments. +=(). +=() pourrait donc être utilisé en chaine.
|
||||||||||||||
neo2500
|
# Posté le 05/05/2008 19:41:43 | ||||||||||||||
|
Groupe : Membres |
J'ai pas rendu mon code a temps pour manque de temps mais merci pour cette correction trés instructive.
|
||||||||||||||
Hiura
|
# Posté le 06/05/2008 20:34:05 | ||||||||||||||
![]() Groupe : Membres |
Juste une petite question. Pas sur cet exo.
Je me demandais si tu nous proposerais "que" des exercices où on doit construire le programme, ou si tu nous proposeras d'autre style d'exo. [ tel que http://www.gotw.ca/gotw/002.htm ] Voilà, merci.
|
||||||||||||||
Nanoc
|
# Posté le 06/05/2008 20:38:12 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Pour le moment j'ai assez d'idées différentes d'exercices pour tenir assez longtemps.
Il risque aussi d'en avoir du type ou il faut coder les parties manquantes d'un code pour terminer un algorithme. Pour ce qui est de Guro of the week, je trouve qu'ils sont souvent très technique et demandent une connaissance pointue de certains trucs. De plus je n'ai pas la prétention de faire du code de ce niveau.
Édité
le 12/05/2008 20:18:46
par Nanoc
Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
Hiura
|
# Posté le 06/05/2008 21:16:11 | ||||||||||||||
![]() Groupe : Membres |
D'accord! Me réjouis déjà.
![]() PS : l'exemple gotw était simplement pour illustrer une autre sorte d'exo [ correction ]. |
||||||||||||||
gymnopaul
|
# Posté le 08/05/2008 11:29:01 | ||||||||||||||
![]() Groupe : Membres |
Une petite question :
Si on a un problème avec un exo, peut-on poster un topic sur le site pour résoudre son problème ? Mes connaissances : Langages : C - C++ (mon préféré ) - HTML - PHP - MySQL3D : Blender Projet en cours : un jeu de tir en 2D Projet terminé : Pong |
||||||||||||||
Tealc13
|
# Posté le 08/05/2008 11:53:55 | ||||||||||||||
![]() Groupe : Membres |
Citation : gymnopaul
Une petite question : Si on a un problème avec un exo, peut-on poster un topic sur le site pour résoudre son problème ? Bien sûr. Mais crée un nouveau topic, tu auras plus de chance d'avoir de l'aide et ça laisse celui-ci plus clair. OS : Windows XP IDE : Code::Blocks 8.02 Editeur : Notepad++ 4.9.2 Navigateur : Firefox 3.0 |
||||||||||||||
gymnopaul
|
# Posté le 08/05/2008 11:54:33 | ||||||||||||||
![]() Groupe : Membres |
Ok ok merci !
Mes connaissances : Langages : C - C++ (mon préféré ) - HTML - PHP - MySQL3D : Blender Projet en cours : un jeu de tir en 2D Projet terminé : Pong |
||||||||||||||
Nanoc
|
# Posté le 11/05/2008 20:31:36 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Mmmh.... moins de réponses ce mois pour le moment. C'est vrai que c'est plus compliqué et qu'il y a plus à faire.
Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
Jaloyan1
|
# Posté le 12/05/2008 09:18:29 | ||||||||||||||
Choisir = se priver du reste.![]() Groupe : Membres |
désolé mais moi je ne pourrai pas, j'ai trop de travail a l'école.
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. ![]() ![]() ![]() Chef du fan club de jaloyan1 |
||||||||||||||
iNaKoll
|
# Posté le 12/05/2008 12:05:15 | ||||||||||||||
Grosso Merdo..![]() Groupe : Membres |
Bonjour,
Projets a rendre + Partiels pour ma part... Je ne pense pas que je pourrais rendre quelque chose ce mois ci. Bon courage au participants ! La constante de couplage est fonction d'une certaine valeur constante que prend le champ scalaire des dilatations dans le vide quantique. |
||||||||||||||
Hiura
|
# Posté le 12/05/2008 14:05:05 | ||||||||||||||
![]() Groupe : Membres |
Je ne réaliserais pas cet exo. Pourquoi? Je n'ai pas les outils [ mathématiques du moins ] pour créer une vraie classe BigInt. [ voir remarque de lmghs / Nanoc. ] Et je n'aime pas faire de "mauvaises" choses.
|
||||||||||||||
Nanoc
|
# Posté le 12/05/2008 14:24:50 | ||||||||||||||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Les outils nécessaires sont ceux que tu as appris au collège. Maintenant si le but est de réaliser une classe effectivement applicable dans un programme de simulation numérique type Matlab ou Octave, alors ne comptez pas sur moi. Je n'en ai pas le niveau et pas la prétention de le croire.
Ce n'est pas mauvais de réaliser des choses plus simples. C'est comme la classe ZString de M@teo21, elle est mauvaise comparée à ce qu'on trouve dans la STL, elle est cependant très insturctive. Exercices de C++ pour tous les niveaux ! Mes projets en cours: Classe template de tableaux statiques avec interface STL Mes tutos: Tri de Shell --- [C++] Gestion des exceptions --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) (New) |
||||||||||||||
total chaos
|
# Posté le 12/05/2008 14:40:13 | ||||||||||||||
le C++, j'en mange!![]() Groupe : Bannis |
tu as quel age hiura ? et dans quel niveau scolaire?
|
||||||||||||||
Retour au forum "Langage C++" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
Fil RSS |
XHTML 1.0 |
CSS 2.0
Édité par Simple IT SARL :
Nous contacter
| Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
279 Zéros connectés |
8 requêtes |
0.0708s (0.053s)
