Aller au menu - Aller au contenu

[Exercices] Venez vous entraîner !

Ce mois: Parseur de fonctions mathématiques

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  4  5  6  7  ...  36  37  38  39  Suivante
Auteur Message
2 visiteurs sur ce sujet (2 anonymes)
Page Précédente  1  2  3  4  5  6  7  ...  36  37  38  39  Suivante
Hors ligne Kurlze # Posté le 26/04/2008 à 19:52:03
L.O.S.T
Avatar

études : IUT A Lyon 1

Reprise du dernier message de la page précédente :
Citation : Botman
Mais comme ça, C++ant (c'est plus plaisant ...) ... OK je part, je suis même déjà très loin .... :ninja:


Moi je lis plutot : "C'est plus plus aisant" :p
Édité le 26/04/2008 à 19:53:27 par Kurlze
Hors ligne danman # Posté le 27/04/2008 à 19:38:37
Miammmmmm boulon !
Avatar

Ville : Sathonay-village
Pays : France métropolitaine

ouf c'est pas encore termine. en cours de route j'ai vu que j'avait des lacunes d'utilisations des classes mais mainteneant sa va. bon je refait le programme...
en esperant qu'il me reste 2 ou 3 jours ^^
Édité le 27/04/2008 à 19:39:47 par danman

http://www.inzeprog.net
la version finale V3.1 approche :)
tous a vos marque pages !!! ;)

bravo, c'est du bon boulon !
  • Développement d'IET (haïti) en tant qu'extension PHP
  • Amélioration du nouveau moteur de cours
  • Préparation de la V4
 
Hors ligne Nanoc # Posté le 27/04/2008 à 20:20:08
Refuseur de tutoriels
Avatar
Validateurs

Ville : Lausanne
Pays : Suisse
études : EPFL

Si tu finis après le premier mai, tu peux toujours confronter ton programme à la solution.

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++
 
Hors ligne danman # Posté le 28/04/2008 à 06:15:30
Miammmmmm boulon !
Avatar

Ville : Sathonay-village
Pays : France métropolitaine

d'accord, mais je le savais :-°
voyons on est le ...28 ><
encore 3 jour, ouf.

http://www.inzeprog.net
la version finale V3.1 approche :)
tous a vos marque pages !!! ;)

bravo, c'est du bon boulon !
  • Développement d'IET (haïti) en tant qu'extension PHP
  • Amélioration du nouveau moteur de cours
  • Préparation de la V4
 
Hors ligne Guinoff # Posté le 29/04/2008 à 15:59:34
free() !!
Avatar

études : ISEP

Bonne initiative nanoc :)

Image utilisateur
 
Hors ligne manuman # Posté le 30/04/2008 à 10:51:48
So darken your clothes ...
Avatar

Ville : Courbevoie
Pays : France métropolitaine

Arg, J'ai pas eu le temps de finir le programme ... :(

Get it !
 
Hors ligne Mafyou # Posté le 30/04/2008 à 11:19:32
Born to be Zéro!
Avatar

On est le 30avril ou on mon calendrier m'aurait menti? :p
Édité le 30/04/2008 à 11:20:16 par Mafyou
 
Hors ligne Dr-Jackal # Posté le 30/04/2008 à 12:43:58
Avatar

@ manuman : Dé stress c'est pas un concours :p
T'es pas obligé de le terminer pour la fin du mois tu peux prendre autant de temps que tu veux.
Hors ligne Gantho # Posté le 30/04/2008 à 13:29:16
mac forever.

Mais quand-est ce que la correction sera publiée ?

Parce que vous dites que ça vous prend 40 minutes mais moi je rame :euh: (les chaines de caractères et moi ça fait deux)
J'ai fait un code qui sépare la chaine en mots, puis en lignes, puis revérifie... Mais à la fin je me suis rendu compte que c'était complétement inutile, qu'on pouvait faire plus simple. J'ai donc essayé de faire plus simple, mais ça plantait et maintenant on est le 30 et j'ai au moins dix bugs, donc j'abandonne.

Mais vivement le prochain !
Hors ligne danman # Posté le 30/04/2008 à 14:46:58
Miammmmmm boulon !
Avatar

Ville : Sathonay-village
Pays : France métropolitaine

bon voila moi sa fait la bulle pour une ligne, il me manque l'animal et la separation par ligne.
et il me reste ...
7 H 13 min et 50 sec ^^


edit : animal terminé, separation par ligne = 70 % fini :-°

edit : noon je l'ai fini mais sa s'arrete au demarrage :'( .
et sa ne marche pas avec l'allocation dynamique ><.

re edit : je crois que j'ai trouver, dans un des tutos de nanoc :-°

final => je n'y suis pas arrivé donc je me suis arreté la, reponse envoyé
Édité le 30/04/2008 à 16:43:52 par danman

http://www.inzeprog.net
la version finale V3.1 approche :)
tous a vos marque pages !!! ;)

bravo, c'est du bon boulon !
  • Développement d'IET (haïti) en tant qu'extension PHP
  • Amélioration du nouveau moteur de cours
  • Préparation de la V4
 
Hors ligne Nanoc # Posté le 30/04/2008 à 19:03:18
Refuseur de tutoriels
Avatar
Validateurs

Ville : Lausanne
Pays : Suisse
études : EPFL

@Mafyou : Le nouveau problème sera publié demain et la solution dans les jours qui suivent certainement.

@Gantho: Oui 40min, c'est compter un peu court... Je vais modifier ça. Comme déjà dit le but n'est pas forcément de m'envoyer le code mais surtout de progresser en réalisant des exercices. Si tu penses que ton code est exceptionnel envoies-le moi il pourra servir de correction. Le mieux pour toi serait de le finir sans regarder la solution et après faire la comparaison.

@danman: Ca ne me sert à rien de m'envoyer des codes qui ne marhent pas...


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++
 
Hors ligne Mafyou # Posté le 30/04/2008 à 19:27:53
Born to be Zéro!
Avatar

Citation : Nanoc
Vous aurez alors pendant un mois la possibilité de soumettre vos exercices et la meilleure solution proposée par vous, les zéros, sera donnée comme correction à la fin du mois. Si aucune solution valable n'est proposée, je proposerai un corrigé complet de l'exercice.


Euh... Je ne sais donc pas lire :waw:
 
Hors ligne Nanoc # Posté le 30/04/2008 à 19:33:03
Refuseur de tutoriels
Avatar
Validateurs

Ville : Lausanne
Pays : Suisse
études : EPFL

Disons, que j'ai d'autres activités pour remplir mes journées.

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++
 
Hors ligne manuman # Posté le 30/04/2008 à 20:03:59
So darken your clothes ...
Avatar

Ville : Courbevoie
Pays : France métropolitaine

:p
Je sais, mais je suis très occupé par la création d'un site que j'ai débuté il y a peu (Allez hop hop hop un peu de publicité :p ) traitant du logiciel Pivot StickFigure Animator.<pub> Je propose :
  • Des tutoriels pour apprendre à s'en servir
  • La possibilitée de poster vos animations
  • Des animations créer par l'AnimStickeur

</pub>
Voilà :-°

Get it !
 
Hors ligne danman # Posté le 30/04/2008 à 22:51:17
Miammmmmm boulon !
Avatar

Ville : Sathonay-village
Pays : France métropolitaine

a il marche pas? desoler je regarde sa...

edit : oups, j'ai envoyé la version buggé desoler, je renvoi ...
(tu peut le remarqué car il y a les vecteur ^^)
Édité le 30/04/2008 à 22:56:22 par danman

http://www.inzeprog.net
la version finale V3.1 approche :)
tous a vos marque pages !!! ;)

bravo, c'est du bon boulon !
  • Développement d'IET (haïti) en tant qu'extension PHP
  • Amélioration du nouveau moteur de cours
  • Préparation de la V4
 
Hors ligne Civodul # Posté le 01/05/2008 à 08:47:31
Avatar

Image utilisateur

un petit screen du resultat. j'ai pas envoyé ma solution j'ai changé quelques trucs par rapport a ce qui etait demandé :p (ajout d'une limite reglable de caractere sur une ligne par ex..faute de tps principalement j'ai vu l'exo que en debut de semaine) mais l'esprit y est toujours lol. je ttenais surtt a remercier les auteurs pour les exos. ca permet vraiment d'utiliser la theorie et dc de s'en souvenir bien mieux ^^

vivement le prochain !! :lol:

Édité le 01/05/2008 à 08:49:26 par Civodul

"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." Albert Einstein

Image utilisateur
 
Hors ligne Mafyou # Posté le 01/05/2008 à 11:53:29
Born to be Zéro!
Avatar

Ca devient plus facil à partir du moment où tu récuperes pas les arguments du main imposé, mais ta propre variable crée de tout piece.
 
Hors ligne Xeroth # Posté le 01/05/2008 à 12:59:15
Vive les petits pois !
Avatar

Ben non, si la "variable créée de toutes pièces" est une chaine de caractères, le problème reste entier. C'est pas le problème plus compliqué, et de loin, de récupérer les arguments du main et en faire une chaine de caractère (une bête boucle et c'est fait).
Et puis il a pu aussi vouloir rappeler la phrase donnée en arguments ... on en sait rien :D

J'attends avec impatience le prochain exercice, merci Nanoc (et je suis fan de tes tutoriels, ils m'ont tous beaucoup servi :) ).

Image utilisateur
Pour tous vos problèmes de rédaction : typographie, grammaire, orthographe... zCorrecteurs.fr
 
Hors ligne Civodul # Posté le 01/05/2008 à 13:55:20
Avatar

Citation : Xeroth

Et puis il a pu aussi vouloir rappeler la phrase donnée en arguments ... on en sait rien :D



lol mais non en effet j'ai crée une variable directement.en fait je viens de lire le tuto pr récuperer les arguments de main dc je vais tenter comme ca :D

"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." Albert Einstein

Image utilisateur
 
Hors ligne Nanoc # Posté le 01/05/2008 à 16:40:53
Refuseur de tutoriels
Avatar
Validateurs

Ville : Lausanne
Pays : Suisse
études : EPFL

Exercice du mois de mai 2008



Nom : Le plus grand nombre
Sujet : Classes, surcharge d'opérateurs, tableaux


En C++, comme dans beaucoup de langages, il existe un type permettant de représenter les entiers. Vous l'avez deviné, il s'agit des int. Cependant, ce type est limité en taille. Le plus grand entier que vous pouvez représenter est :
2^{32} -1 = 4294967295
(En fait ça dépend de votre processeur et de votre OS mais c'est souvent le cas).

Ce nombre est ridiculement petit, il serait donc intéressant de développer une classe permettant de gérer des entiers bien plus grand. C'est ce que je vous propose de faire.

Niveau 1



Le but de cet exercice est de réaliser une classe BigInt qui permet de représenter un nombre entier positif ou négatif de n'importe quelle grandeur. L'idée est de représenter un grand nombre (à l'intérieur de la classe) comme un tableau de short int. Le nombre 12345 sera donc découpé en 5 cases "1","2","3","4" et "5".

Votre classe devra fournir les services suivants:

1) Construction à partir d'un int ou d'une string.

Code : C++
1
BigInt monEntier("123456789");


2) Surcharge des opérateurs d'addition, soustraction, multiplication, division (entière), modulo, puissance (utilisez l'opérateur ^). Ainsi que les opérateurs ++ et --.

3) Surcharger l'opérateur << pour un affichage en console de votre nombre.

4) Fournir quelques fonctions mathématiques utiles, telles que "valeur absolue" ou "signe"...

5) Fournir des opérateurs de comparaison <,>,<=,>= ,==,!=

Des informations concernant les tableaux dynamiques (si nécessaire) sont disponibles ici.

Pour les différents opérateurs mathématiques, je vous propose d'utiliser les méthodes que vous avez apprises au collège pour faire les calculs à la main.

Niveau 2



Il s'agit exactement du même exercice sauf qu'on utilise les templates pour laisser le choix à l'utilisateur du type dans lequel il veut stocker ses entiers (On impose donc pas short int).

Code : C++
1
2
BigInt<int> monEntier("123");
BigInt<short int> monEntier2("456");


Vous avez jusqu'au 31 mai pour soumettre vos réponses à Réponse_Exercices. Si vous faites le niveau 2, merci de l'indiquer dans le titre du MP.

Bonne chance à tous !
Édité le 01/06/2008 à 10:23:18 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++
 
Hors ligne danman # Posté le 01/05/2008 à 16:45:27
Miammmmmm boulon !
Avatar

Ville : Sathonay-village
Pays : France métropolitaine

cool !!!
allez c'est partie pour coder ^^
mais pouquoi sa serait le 31 mai la fin,alors que la c'etait le 1er mai
sa serai plus logique de mettre le 1 juin ...

http://www.inzeprog.net
la version finale V3.1 approche :)
tous a vos marque pages !!! ;)

bravo, c'est du bon boulon !
  • Développement d'IET (haïti) en tant qu'extension PHP
  • Amélioration du nouveau moteur de cours
  • Préparation de la V4
 
Hors ligne Hertzien' # Posté le 01/05/2008 à 17:09:27
C++, C(encore)++ fort !
Avatar

Ah ! Là ça chauffe !
Allez c'est partie pour un codage de folie. (Je vooulais dire aussi que ce TP pourra m'être utile !!!! ) :)

Bonne chance !

A quand le corrigé du premier TP ? :-°
Édité le 01/05/2008 à 18:48:15 par Hertzien'

Mon problème : [FFMpeg] Installation
Notre équipe : C++ (au complet !)
SuperTux : Le jeu qui innove !
SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés
 
Hors ligne Loumnam # Posté le 01/05/2008 à 19:42:40
#ifdef C++ #define SFML

Petite question: que les entiers naturels, ( > à 0) ou tous les entiers relatifs?)

Essayez la SFML, une super API multimédia orientée objet, multi-plate-forme, écrite en C++, aussi simple mais beaucoup plus rapide que la SDL!
 
Hors ligne Tealc13 # Posté le 01/05/2008 à 19:50:39
Avatar

études : Ecole Centrale de Nantes

S'il demande de fournir des méthodes "valeur absolue" et "signe" c'est qu'il s'agit de relatifs.

OS : Ubuntu
IDE : Make
Editeur : Kate
Navigateur : Firefox
 
Hors ligne Nanoc # Posté le 01/05/2008 à 20:38:51
Refuseur de tutoriels
Avatar
Validateurs

Ville : Lausanne
Pays : Suisse
études : EPFL

Les entiers positifs et négatifs.

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++
 
Hors ligne Jaloyan1 # Posté le 01/05/2008 à 20:59:24
Sms = portable,forum = clavier
Avatar

trop simple!

J'avais travaillé sur ca pour la zérolib, il suffit de traffiquer mon code en C89.

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir.
:D 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? :-°
 
Hors ligne total chaos # Posté le 01/05/2008 à 21:11:14
le C++, j'en mange!
Avatar

"il suffit de traffiquer mon code en C89"
on ne bricole pas en programmation!
 
Hors ligne bombadil # Posté le 01/05/2008 à 21:16:08
Avatar

Pour les opérateurs, le BigInt doit être aditionnable/comparable... avec uniquement d'autre BigInt ou aussi avec des Int,Float,Double ... ?
Hors ligne djo0012 # Posté le 02/05/2008 à 00:26:32

Ville : Montréal
Pays : Canada
études : Cégep du Vieux-Montréal

oula... mais c'Est un TP universitaire complet sa... enfin tres intéressant par contre... dommage que ma fin de session soit en meme temp que cette exercisse... je le ferai assurément pendant les vaccance d'été :)


Citation : bombadil
Pour les opérateurs, le BigInt doit être aditionnable/comparable... avec uniquement d'autre BigInt ou aussi avec des Int,Float,Double ... ?


ta fonction devra retourner un bigInt alors tu ne peu certainement pas additionner un float ou double... ou alors tu le tronque.... a moin bien sur que tu veuiller aussi créé big float:P et la bonjours la représentation en virgule flotante :p

desoler pour le francais j'ai un manque de moliere en moi depuis un bout :( Citation : moi-meme
Si vous n'arrivez pas a résoudre un problème c'est que vous n'avez pas assez travaillé dessus.
 
Hors ligne lmghs # Posté le 02/05/2008 à 00:48:42

Au début tu leur suggères de découper en base 10 (ce qui n'est pas à faire -- découper au niveau des chiffres de la représentation décimale chère à notre civilisation). Mais ensuite, la version template propose le choix.

Je ne suis pas sûr qu'il vont percuter que les nombres doivent être décomposés et stockés en base 2^(8*sizeof(type)).

PS: je doute que la templatisation apporte grand chose. Je soupçonne que "unsigned int" est le meilleur type disponible pour la machine courante.
Édité le 02/05/2008 à 00:58:31 par lmghs
 
Hors ligne Nanoc # Posté le 02/05/2008 à 08:38:57
Refuseur de tutoriels
Avatar
Validateurs

Ville : Lausanne
Pays : Suisse
études : EPFL

Citation : bombadil
Pour 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.

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++
 

Retour au forum "Langage C++" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx