Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C++ > [Exercices] Venez vous entraîner ! > Lecture du sujet

[Exercices] Venez vous entraîner !

Un nouvel exercice chaque mois

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  22  23  24  25  26  27  28  29  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  22  23  24  25  26  27  28  29  Suivante
Hors ligne raphamil # Posté le 15/10/2008 à 20:28:58
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Qu'est-ce que tu entends par "construction à partir d'un entier" : un entier est déjà sous forme irrédutible, non ? Donc pas raison de le changer ?
(Je préfère être spur pour éviter de commencer par faire n'importe quoi ^^ )

Pour la construction à partir d'une chaîne de caractères, on a à gérer qu'une seule division, pas des cas du style : 35/3/2 ?

Edit : fautes de frappe (j'en ai maaare...)
Édité le 15/10/2008 à 20:32:05 par raphamil

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne Nanoc # Posté le 15/10/2008 à 20:34:26
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Construction depuis un entier. Par exemple pouvoir faire qqch comme:

Code : C++
1
Fraction a(12);


Construction depuis une chaine: Non. Juste le cas simple est demandé. Mais si tu veux faire plus, libre à toi. Mais il devient rapidement difficile de fixer une limite.
 
Hors ligne raphamil # Posté le 15/10/2008 à 20:40:13
Avatar
Groupe : Membres
OK merci.
J'essairais de commencer ce week-end. Pile-poil pour mon interro de maths (ha la seconde :D ), qui ne portera pas sur les fractions, hélas.

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Connecté Bachir ElMagnifico # Posté le 15/10/2008 à 20:40:42
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
la construction a partir d'un entier reviens à la construction à partir d'un float, non?

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne Nanoc # Posté le 15/10/2008 à 20:51:26
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Disons que l'on peut passer un entier dans le constructeur:

Code : C++
1
Fraction::Fraction(double x)


mais cela a deux (au moins !) désavantages:

1) On a une conversion implicite d'un type dans un autre. Mais ici c'est pas trop grave.

2) La construction depuis un entier est très simple. Depuis un double, c'est plus compliqué.

 
Hors ligne Hiura # Posté le 15/10/2008 à 20:53:19
Avatar
Groupe : Membres
Mais la construction à partir d'un entier demande moins de traitement, non ? [ J'espère sinon je suis bon pour retourner en cours pendant les vacances :-° . ]
 
Hors ligne Nanoc # Posté le 15/10/2008 à 20:55:02
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
EDIT: J'ai ajouter un constructeur à la liste. Cela devrait vous simplifier le travail.
 
Hors ligne Hiura # Posté le 15/10/2008 à 20:58:35
Avatar
Groupe : Membres
Citation : Nanoc
EDIT: J'ai ajouter un constructeur à la liste. Cela devrait vous simplifier le travail.
Alors ma remarque perd son utilité. Merci. :)
 
Hors ligne lmghs # Posté le 15/10/2008 à 21:03:56
Groupe : Membres
Cela "ne sera pas nécessaire" uniquement s'ils implémentent bien l'addition sous forme d'un opérateur libre. Sans cela, ils vont avoir quelques surprises.

@raphamil, si ta construction foire, ou si tu construis avec un dénominateur nul, => exception!
 
Hors ligne raphamil # Posté le 16/10/2008 à 16:59:23
Avatar
Groupe : Membres
Est-ce qu'on est obligé de respecter la convention m_nomAttribut pour les attributs de la classe ? J'ai plutôt tendance à y accéder avec this->attribut.

Secret (cliquez pour afficher)
Est-on obligé de créer notre propre classe d'exception ?

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne Hiura # Posté le 16/10/2008 à 17:21:07
Avatar
Groupe : Membres
Citation : raphamil
Est-ce qu'on est obligé de respecter la convention m_nomAttribut pour les attributs de la classe ? J'ai plutôt tendance à y accéder avec this->attribut.
Ce que tu as écris n'est pas équivalent.
 
Hors ligne Nanoc # Posté le 16/10/2008 à 17:53:19
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Le nom que tu donnes a ton attribut importe peu. Mais y acceder via this est une erreur. C'est plus lent et c'est inutile. (Tu fais du JAVA ?)

Sinon, pour les exceptions (bonne initiative), tu peux utiliser le type standard std::runtime_error par exemple ou tout autre de tonc choix.
 
Hors ligne raphamil # Posté le 16/10/2008 à 17:56:37
Avatar
Groupe : Membres
Bon tant pis.
Merci pour cette réponse Nanoc. Je trouve juste ça plus clair (beaucoup d'autres langages le font self.attr );
J'avance bien :D Le coeur de la classe est terminé (simplification, construction à partir de 2 entiers || d'un double (je me casse la tête sur celui avec la std::string)).

Par contre, je ne comprends pas comment mon code fonctionne (oui je sais je suis bizarre) (mais il marche) : Secret (cliquez pour afficher)
return a % b != 0 ? Fraction::PGCD(a % b, a) : b;
(Fraction::PGCD(a, b) est ici récursive.)
Édité le 16/10/2008 à 17:58:08 par raphamil

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne lmghs # Posté le 16/10/2008 à 18:02:17
Groupe : Membres
Ce n'est pas plus lent. C'est plus lourd à taper, et obligatoire pour les templates.
C'est juste que la convention (et ce n'est rien d'autre) m_lowerCamelCase est assez répandue pour les variables membre.
 
Hors ligne Goten # Posté le 16/10/2008 à 19:17:49
Avatar
Groupe : Membres
je suis même pas sur qu'on puisse parler d'une convention là...
Hors ligne Hiura # Posté le 16/10/2008 à 19:27:42
Avatar
Groupe : Membres
Si je ne m'abuse, Stroustrup, dans son livre, préfère la syntaxe sans le this->. [J'ai pas été vérifier.]
 
Connecté Bachir ElMagnifico # Posté le 16/10/2008 à 19:42:53
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
est ce qu'on doit fixer le taux de precision des float?
sinon y a t il un moyen de savoir le nombre des chiffres apres la virgules?
Édité le 16/10/2008 à 19:43:33 par Bachir ElMagnifico

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne raphamil # Posté le 16/10/2008 à 19:51:29
Avatar
Groupe : Membres
Secret (cliquez pour afficher)
Est-ce qu'une exception déclenchée dans un constructeur doit annuler la création de l'objet ?

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne Hiura # Posté le 16/10/2008 à 19:56:43
Avatar
Groupe : Membres
Hors ligne Nanoc # Posté le 16/10/2008 à 20:32:28
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Citation : lmghs
Ce n'est pas plus lent.
Il me semblait qu'on payait un dereferencement. Mais tu as certainement raison, le compilateur doit optimiser.

Citation : Bachir ElMagnifico
est ce qu'on doit fixer le taux de precision des float?


Je comprends pas la question.

Citation : Bachir ElMagnifico
sinon y a t il un moyen de savoir le nombre des chiffres apres la virgules?


Regarde dans la doc. Et puis, si jamais, ce n'est pas bien difficile à programmer.

Citation : raphamil
Est-ce qu'une exception déclenchée dans un constructeur doit annuler la création de l'objet ?


Hiura te donne la reponse.


 
Hors ligne raphamil # Posté le 16/10/2008 à 21:40:16
Avatar
Groupe : Membres
Citation : Bachir ElMagnifico
sinon y a t il un moyen de savoir le nombre des chiffres apres la virgules?


Secret (cliquez pour afficher)
modf ;)


Nanoc: lorsque tu dis qu'il faudrait s'intéresser aux cas " "Fraction + Entier" ou "Reel + Fraction" ", ne me dis pas qu'il faut déclarer tous les opérateurs en double o_O . J'en ai déjà une vingtaine avec ceux de comparaisons.
Édité le 16/10/2008 à 22:33:52 par raphamil

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne Chlab_lak # Posté le 16/10/2008 à 23:18:14
Tendou : Royaume de dieu
Avatar
Groupe : Membres
Hors ligne raphamil # Posté le 17/10/2008 à 11:42:20
Avatar
Groupe : Membres
Est-ce que tu accepte ce genre de trucs :

Secret (cliquez pour afficher)
Code : C++
1
2
3
4
const int numerateur  () const {return m_numer;};
    const int denominateur() const {return m_denom;};
    const int getPGCD     () const {return m_pgcd;};
    const double toDouble () const {return static_cast<double>(m_numer) / m_denom;};


Parce qu'après c'est lourd à mettre dans le .cpp.
Édité le 17/10/2008 à 11:54:47 par raphamil

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne Nanoc # Posté le 17/10/2008 à 11:46:41
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Merci de pas dévoiler tout le code non plus.

Sinon, comment tu veux faire autrement ?

Pour les opérateurs, Chlab_lak t'as donné une solution. C'est aussi pour ça que j'ai mis "réfléchir à".
 
Hors ligne raphamil # Posté le 17/10/2008 à 11:54:28
Avatar
Groupe : Membres
OK-OK je mets en secret :euh:
Ce que je voulais dire c'est mettre certaines définition de fonctions dans le .h.

Et ce genre de machin illisible ?

Secret (cliquez pour afficher)
Code : C++
1
2
3
Fraction& Fraction::fct(const Fraction& f) {
    return fctMembre(f), *this; //Une instruction à virgule, beurk ^^
}
Édité le 17/10/2008 à 12:02:14 par raphamil

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne Hiura # Posté le 17/10/2008 à 12:14:56
Avatar
Groupe : Membres
Si tu as pas mal de problèmes, je te conseilles de faire une nouveau thread pour ça.
 
Hors ligne lmghs # Posté le 17/10/2008 à 12:18:12
Groupe : Membres
Le dernier truc est sale, dur à maintenir et sans intérêts ici.

PS: je ne vois pas ce que vient faire le PGCD en propriété d'un nombre rationnel, ni pourquoi ce nombre aurait des fonctions membres PGCD et PPCM. Ces fonctions existent en dehors de toute notion de nombre rationnel.
J'ai bien une adresse de solution où vous envoyer (pour voir l'interface type par des pros), mais l'exo perdrait un de ces intérêts.
 
Hors ligne Hiura # Posté le 17/10/2008 à 13:07:52
Avatar
Groupe : Membres
Citation : lmghs
J'ai bien une adresse de solution où vous envoyer (pour voir l'interface type par des pros), mais l'exo perdrait un de ces intérêts.
Pourrais-tu la communiquer à Nanoc pour qu'il la donne avec la solution ?
 
Hors ligne lmghs # Posté le 17/10/2008 à 14:05:08
Groupe : Membres
Je serais surpris qu'il n'ait pas connaissance de cette suite de bibliothèques qui booste notre productivité.
(pour continuer dans le second degré <rot13>vy l n har pynffr qr zêzr pbzcyrkvgé qnaf yn ovoyvbguèdhr fgnaqneq</rot13>)
 
Hors ligne Nanoc # Posté le 17/10/2008 à 14:12:32
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Je vois tout à fait à quoi il fait référence.

<rot13>GBA PELCGRHE TRER ZNY YRF NPPRAGF</rot13>
 
Connecté Bachir ElMagnifico # Posté le 17/10/2008 à 14:16:48
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
Purm zbvyrf nppragfg qr fba pbqr znepur cnesnvgrzrag
fvaba, nhgnag hgvyvfre yn zc cyhgbg dh'ha zrffntr pelcgé ;)

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 

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 | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | 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.

Nombre de connectés 248 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0461s (0.0279s)