
| Page Précédente 1 2 3 ... 31 32 33 34 35 36 37 38 39 Suivante | |||||||
| Auteur | Message | ||||||
|---|---|---|---|---|---|---|---|
| 2 visiteurs sur ce sujet (1 membre et 1 Anonyme) : CX | |||||||
| Page Précédente 1 2 3 ... 31 32 33 34 35 36 37 38 39 Suivante | |||||||
Nanoc
|
# Posté le 31/03/2009 à 18:03:51 | ||||||
Refuseur de tutoriels![]()
|
Reprise du dernier message de la page précédente :
Mmmh je crois qu'on a compris. Je pense pas que ce soit le lieu pour un comparatif entre établissements scolaires ni pour un débat sur l'éducation... Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
Nanoc
|
# Posté le 31/03/2009 à 21:45:27 | ||||||
Refuseur de tutoriels![]()
|
Solution du mois de janvier 2009Re-Bonjour tout le monde ! Il est temps que je dévoile avec encore plus de retard, une solution pour l'exercice du mois de janvier. Vous avez été 8 à m'envoyer une solution. Ce n'est pas beaucoup, surtout que l'exercice était relativement simple et court. Voici ma solution. Partie "Papier-Crayon"Il n'y avait pas grand chose à faire ici. L'algorithme étant entièrement décrit dans la donnée. L'exercice consistait surtout à utiliser correctement les fonctions du C++ pour la lecture de fichiers. Choix des structures de donnéesLà non plus, pas de grande difficulté. Le choix naturel d'utiliser les fstream est certainement la meilleure option. Reste à voir comment les utiliser pour faire ce que l'on veut. DocumentationEn farfouillant un peu dans la documentation de la classe ifstream, on tombe rapidement sur la fonction read() qui permet de lire les données directement depuis le flux dans un tableau de caractères. De même, la documentation de ofstream, nous mène directement vers la fonction write() permettant d'écrire le contenu d'un tableau de caractères dans un fichier. ProgrammationLes deux fonctions citées ci-dessus attendent en argument un tableau de caractères. Nous ne voulons "jouer" qu'avec un seul caractère à la fois, nous aurons donc simplement un tableau de taille 1. La fonction de cryptage/décryptage est alors: Code : C++
Il ne reste plus alors qu'à ajouter un main() qui lit les paramètres et les envoit à la fonction. Le code complet est donc: Code : C++
On peut alors utiliser le programme comme suit: Code : Console
Voilà voilà. La suite de la crypto après l'exercice sur les polynômes.
Édité
le 01/04/2009 à 13:38:41
par Nanoc
Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
lmghs
|
# Posté le 31/03/2009 à 23:28:17 | ||||||
|
|
Le while de lecture n'est pas bon.
Le test doit être réalisé juste après le read. Sinon il y a aura exploitation d'un caractère invalide ou du dernier 2 fois. |
||||||
Nanoc
|
# Posté le 01/04/2009 à 13:40:09 | ||||||
Refuseur de tutoriels![]()
|
En effet. Corrigé.
Merci. Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
sam101
|
# Posté le 01/04/2009 à 14:53:24 | ||||||
|
Ville : Gargenville |
Les polynomes ça se voit en première scientifique dans R non ?.. Allez, je tente
=).. |
||||||
Nanoc
|
# Posté le 01/04/2009 à 16:02:24 | ||||||
Refuseur de tutoriels![]()
|
Citation : Nanoc
Mmmh je crois qu'on a compris.
Je pense pas que ce soit le lieu pour un comparatif entre établissements scolaires ni pour un débat sur l'éducation... Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
guigui'
|
# Posté le 01/04/2009 à 16:57:21 | ||||||
|
études : UTC |
Pour ceux qui veulent un peu documentation sur les polynômes voici le pdf actif du cours de mon école (UTC)
cours polynômes
Édité
le 01/04/2009 à 17:12:16
par guigui'
Vive la doc de Qt !! |
||||||
Nanoc
|
# Posté le 01/04/2009 à 17:23:04 | ||||||
Refuseur de tutoriels![]()
|
Ton lien n'est pas accessible (et c'est normal c'est un document interne).
Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
guigui'
|
# Posté le 01/04/2009 à 21:28:57 | ||||||
|
études : UTC |
Pas accessible ?? bizarre j'ai vérifié avant de mettre le lien, je ne me suis pas loggué pour y accédé !
Perso pour moi il marche le lien ! et je suis quasi sûr de ne pas être loggué (il l'affiche normalement) bas tant pis alors! EDIT : en fais il est possible que la 1er fois que vous suivez le lien vous tombez sur la page d'accueil, mais en suivant le lien une 2eme fois vous tombez bien sur le pdf.
Édité
le 02/04/2009 à 10:24:54
par guigui'
Vive la doc de Qt !! |
||||||
Darkelfe
|
# Posté le 02/04/2009 à 08:55:18 | ||||||
Apprendre tout sur tout !![]()
Ville : Brignais |
|||||||
pepetiti
|
# Posté le 02/04/2009 à 11:39:04 | ||||||
Epitech Nantes promo 2014![]()
études : EPITECH Nantes |
Dites, je n'ai pas l'impression que ma réponse ait été prise en compte (pour le cryptage XOR), j'ai envoyé un mp à Reponse_Exercice mais le message est toujours en non lu, est-ce normal ?
|
||||||
guigui'
|
# Posté le 02/04/2009 à 12:20:30 | ||||||
|
études : UTC |
Citation : Nanoc
Citation : Cyprien_ Il y a juste un truc qui m'intrigue pour les polynômes, il s'agit de la comparaison de deux polynômes. Pour comparer deux flottants, je crois qu'il est impossible d'utiliser == et !=, il faut se donner une erreur. Mais comment généraliser ça à un type template ? Théoriquement, la classe Polynome ne fera qu'utiliser l'opérateur == surchargé de la classe utilisée comme type. Le problème est donc reporter vers la classe utilisée comme type. Pour les types POD (double, float, ...), on peut toujours spécialiser la fonction. Ayant déjà fini l'exercice je souhaiterais approfondir ce point ! Quel sont exactement les spécificités apportés au type POD pour les comparaisons ?? Comment faire un comparaisons de 2 float en utilisant une marge d'erreur ?? (me suis jamais possé la question j'aurais bêtement fais un == ) D'avance merci pour vos éclaircissement ! Vive la doc de Qt !! |
||||||
lmghs
|
# Posté le 02/04/2009 à 13:24:40 | ||||||
|
|
s/POD/flottants/
int est POD, FILE est POD, T* est POD, etc. Et réponse dans la FAQ de développez: http://cpp.developpez.com/faq/cpp/?pag [...] ons_flottants |
||||||
Nanoc
|
# Posté le 02/04/2009 à 13:39:13 | ||||||
Refuseur de tutoriels![]()
|
Citation : pepetiti
Dites, je n'ai pas l'impression que ma réponse ait été prise en compte (pour le cryptage XOR), j'ai envoyé un mp à Reponse_Exercice mais le message est toujours en non lu, est-ce normal ? Si si t'en fais pas. J'utilise lu/non-lu pour trier. Ton code faisait une lecture sur eof() -> pas OK. EDIT: Plus de 1000 réponses !
Édité
le 02/04/2009 à 13:41:36
par Nanoc
Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
guigui'
|
# Posté le 02/04/2009 à 15:33:24 | ||||||
|
études : UTC |
Sans ajouter beaucoup de difficulté, on peut ajouter une fonction qui renvoi la dérivé du polynôme !
Polynome polynome::derive() EDIT : Voir pourquoi pas une fonction qui calcule une primitive (qui s'annule en zéro ou avec une constante) Polynome polynome::primitive() Polynome polynome::primitive( T constante)
Édité
le 02/04/2009 à 15:52:36
par guigui'
Vive la doc de Qt !! |
||||||
iCe_sCrEAm
|
# Posté le 02/04/2009 à 16:36:17 | ||||||
Smoking heals![]()
|
This is gonna be a piece of cake !!
A quel ensemble est-ce que notre polynome appartient ?? |R ??
Édité
le 02/04/2009 à 16:37:26
par iCe_sCrEAm
#include <www.siteduzero.com> #ifnread tuto_c++ #read tuto_c++ |
||||||
Freedom
|
# Posté le 02/04/2009 à 16:43:36 | ||||||
I can ... but I won'r![]()
|
Le polynome appartient a l'ensemble des polynomes a une indeterminé dans R (je pense) pour les 2° premiers niveau, et pour ne 3° niveau il s'agit justement d'étendre a n'importe quel ensemble tant que c'est mathématique cohérent.
|
||||||
Nanoc
|
# Posté le 02/04/2009 à 16:45:31 | ||||||
Refuseur de tutoriels![]()
|
Citation : guigui'
Sans ajouter beaucoup de difficulté, on peut ajouter une fonction qui renvoi la dérivé du polynôme ! Polynome polynome::derive() EDIT : Voir pourquoi pas une fonction qui calcule une primitive (qui s'annule en zéro ou avec une constante) Polynome polynome::primitive() Polynome polynome::primitive( T constante) Pourquoi pas. Aller plus loin n'est pas interdit !! Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
guigui'
|
# Posté le 02/04/2009 à 21:29:06 | ||||||
|
études : UTC |
Je suis confronté à un petit dilemme :
Pour stocker mes coefficients j'utilise une map mais la fonction : T map<KEY,T>::operator[](const KEY key) qui permet d'accéder au élément contenu n'est pas une fonction const (normale puisqu'elle offre là possibilité de modifié cette élément). Du coup, si je souhaite rendre une fonction (ou un paramètre) const je suis obligée de crée une copie de ma map au lieu de me servir direct de celle-ci. La question est la suivante : Qu'est t-il préférable : ne pas rendre la fonction et les paramètre constant (alors qu'ils le sont) ou crée à chaque fois une copie (quitte à alourdir le programme) ??
Édité
le 02/04/2009 à 21:29:49
par guigui'
Vive la doc de Qt !! |
||||||
Nanoc
|
# Posté le 02/04/2009 à 21:32:57 | ||||||
Refuseur de tutoriels![]()
|
Je poserais la question différemment:
Pourquoi utiliser une map ? http://cpp.developpez.com/faq/cpp/inde [...] oix_conteneur Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
lmghs
|
# Posté le 02/04/2009 à 21:54:03 | ||||||
|
|
La map peut avoir du sens pour X^42 + X^2. Mais cela va-t-il souvent se produire ?
Sinon, pour les accesseurs non modifiants qui vont taper dans des membres de type map, il faut appeler la fonction std::map::find. Il n'y a pas vraiment le choix. |
||||||
guigui'
|
# Posté le 03/04/2009 à 00:03:56 | ||||||
|
études : UTC |
Je t'accorde Nanoc que la map n'est peut être pas le plus adapter mais il me paraissais très bien pour les situations telle que celle proposé par Lmghs X^42 + X^2, même si au finale c'est assez rare.
Bref j'ai utilisé une map et je trouver finalement ça assez agréable. (je voyais pas trop comment faire avec un vector ou autre sans trop me faire chier et là c'est cool) Lmghs merci de ton aide, c'était effectivement la bonne solution (je l'avais aperçut mais avais un doute), et en jouant bien j'ai obtenu quelque chose de propre et claire (et aprioris rapide). EDIT: Bon, maintenant que j'ai ajouté la dérivée et les primitives j'ai plus trop d'idée d'ajout pour la classe ... Donc a moins que quelqu'un est une idée d'ajout je vais pouvoir rendre ma copie !
Édité
le 03/04/2009 à 00:07:47
par guigui'
Vive la doc de Qt !! |
||||||
lmghs
|
# Posté le 03/04/2009 à 00:40:00 | ||||||
|
|
Il y a toutes sortes de choses à s'assurer:
- const-correctness - symétries - exception-safety - justesse des calculs Il y a des outils adaptés à ce type de développement pour le dernier point tout particulièrement -> les test-unitaires Et après c'est tout comme les matrices: il y a de quoi amuser débutants et experts. - quid d'avoir des politiques pour exploiter en interne des vecteurs (cas courant), ou des map (cas de polynômes "creux" X^42+X^2) - recherche des racines (ça c'est des maths) - optimisation (pour wanabe-gurus) dans le cas vecteur pour éviter d'avoir à construire trop de temporaires (chercher expression-template ; c'est ce qui est fait dans Blitz++, newmat, boost.ublas) Bref, si tu t'embêtes, il y a de quoi s'occuper et apprendre sur ce genre de projets.
|
||||||
Nanoc
|
# Posté le 03/04/2009 à 00:56:02 | ||||||
Refuseur de tutoriels![]()
|
Mon implémentation utilise un std::vector et j'ai tenté il y a pas longtemps une version avec une map.
Je vais peut-être me pencher un de ces jours sur une implémentation avec une liste. Le random access n'ayant que peu d'intérêt, cela peu-être un choix. A voir... Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
Stokastik38
|
# Posté le 03/04/2009 à 09:36:18 | ||||||
|
études : ENSAM Cluny |
Bonjour,
Veuillez noter qu'il y a une petite erreur puisque le polynôme nul est, en fait, de degré (-infini) (ceci est une convention). |
||||||
guigui'
|
# Posté le 03/04/2009 à 10:55:13 | ||||||
|
études : UTC |
Merci Lmghs pour tes idées !
Par-contre si tu pouvais m'expliquer ce que tu entend par symétrie ?! Là j'avoue ne pas savoir/voir de quoi tu parle. Vive la doc de Qt !! |
||||||
Nanoc
|
# Posté le 03/04/2009 à 11:39:32 | ||||||
Refuseur de tutoriels![]()
|
Il parle de symétrie des opérateurs si je ne m'abuse.
Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
guigui'
|
# Posté le 03/04/2009 à 12:25:00 | ||||||
|
études : UTC |
Dsl ça m'aide pas !! (des lacunes sûrement !!)
Vive la doc de Qt !! |
||||||
Nanoc
|
# Posté le 03/04/2009 à 12:30:54 | ||||||
Refuseur de tutoriels![]()
|
http://www.siteduzero.com/forum-83-256 [...] html#r2321971
par exemple. Mes tutos : [C++] Notions avancées (suite du tuto de M@teo21) Autres : Exercices de C++ pour tous les niveaux ! --- Mots-clés du C++ |
||||||
lmghs
|
# Posté le 03/04/2009 à 13:54:44 | ||||||
|
|
Oui.
C'est pour faire en sorte que "1+P", "P+1", "P+P" fonctionnent tous. C'est d'autant plus visible quand il y a des conversions implicites au milieu. Si vous définissez les opérateurs comme ils sont décrits dans le tuto du sdz, il y aura des déséquilibres à cause des conversions implicites qui ne pourront pas s'opérer sur le membre gauche. |
||||||
guigui'
|
# Posté le 03/04/2009 à 14:52:15 | ||||||
|
études : UTC |
OK, donc en suivant ce que tu dit Lmghs (merci pour le lien Nanoc)
là où moi j'ai fais : Code : C++
Toi tu ferais juste : Code : C++
C'est bien ça ?? Donc je vient d'apprendre que operator+( T , A) marche pour T+A et pour A+T. Et bien merci pour ce "cours". Et je vais de ce pas aléger ma classe !
Édité
le 03/04/2009 à 14:53:43
par guigui'
Vive la doc de Qt !! |
||||||
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 !

