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  4  5  6  7  ...  21  22  23  24  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  4  5  6  7  ...  21  22  23  24  Suivante
Hors ligne Kurlze # Posté le 26/04/2008 à 19:52:03
L.O.S.T
Avatar
Groupe : Membres
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

You cannot change your fate. No man can.
 
Hors ligne danman # Posté le 27/04/2008 à 19:38:37
Miammmmmm boulon !
Avatar
Groupe : Membres
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 approche :)
tous a vos marque pages !!! ;)
 
Hors ligne Nanoc # Posté le 27/04/2008 à 20:20:08
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Si tu finis après le premier mai, tu peux toujours confronter ton programme à la solution.
 
Hors ligne danman # Posté le 28/04/2008 à 06:15:30
Miammmmmm boulon !
Avatar
Groupe : Membres
d'accord, mais je le savais :-°
voyons on est le ...28 ><
encore 3 jour, ouf.

http://www.inzeprog.net
la version finale V3 approche :)
tous a vos marque pages !!! ;)
 
Hors ligne Guinoff # Posté le 29/04/2008 à 15:59:34
free() !!
Avatar
Groupe : Membres
Bonne initiative nanoc :)

Image utilisateur
 
Hors ligne manuman # Posté le 30/04/2008 à 10:51:48
Doh !
Avatar
Groupe : Membres
Arg, J'ai pas eu le temps de finir le programme ... :(

Citation : Pythagore
Un homme n’est jamais si grand que lorsqu’il est à genoux pour aider un enfant.

So Am I, Still Waiting, For This World To Stop Hating, Can't Find A, Good Reason, Can't Find Hope To BELIEVE IN !! Yeaaaaaar !!
Rubik's Cube Switcher
 
Hors ligne Mafyou # Posté le 30/04/2008 à 11:19:32
Born to be Zéro!
Avatar
Groupe : Membres
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
Groupe : Membres
@ 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.
Groupe : Membres
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 !

G, la lettre du mal ! comme dans :
  • Goto
  • variables Globales
  • Gantho :-°
 
Hors ligne danman # Posté le 30/04/2008 à 14:46:58
Miammmmmm boulon !
Avatar
Groupe : Membres
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 approche :)
tous a vos marque pages !!! ;)
 
Hors ligne Nanoc # Posté le 30/04/2008 à 19:03:18
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
@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...

 
Hors ligne Mafyou # Posté le 30/04/2008 à 19:27:53
Born to be Zéro!
Avatar
Groupe : Membres
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
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Disons, que j'ai d'autres activités pour remplir mes journées.
 
Hors ligne manuman # Posté le 30/04/2008 à 20:03:59
Doh !
Avatar
Groupe : Membres
: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à :-°

Citation : Pythagore
Un homme n’est jamais si grand que lorsqu’il est à genoux pour aider un enfant.

So Am I, Still Waiting, For This World To Stop Hating, Can't Find A, Good Reason, Can't Find Hope To BELIEVE IN !! Yeaaaaaar !!
Rubik's Cube Switcher
 
Hors ligne danman # Posté le 30/04/2008 à 22:51:17
Miammmmmm boulon !
Avatar
Groupe : Membres
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 approche :)
tous a vos marque pages !!! ;)
 
Hors ligne Civodul # Posté le 01/05/2008 à 08:47:31
Avatar
Groupe : Membres
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
Groupe : Membres
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 !
Groupe : Membres
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 :) ).
Hors ligne Civodul # Posté le 01/05/2008 à 13:55:20
Avatar
Groupe : Membres
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
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres

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
 
Hors ligne danman # Posté le 01/05/2008 à 16:45:27
Miammmmmm boulon !
Avatar
Groupe : Membres
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 approche :)
tous a vos marque pages !!! ;)
 
Hors ligne Hertzien' # Posté le 01/05/2008 à 17:09:27
C++, C(encore)++ fort !
Avatar
Groupe : Membres
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
Groupe : Membres
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
Groupe : Membres
S'il demande de fournir des méthodes "valeur absolue" et "signe" c'est qu'il s'agit de relatifs.

OS : Windows XP / Ubuntu
IDE : Code::Blocks 8.02
Editeur : Notepad++ 5.0.3
Navigateur : Firefox 3.0.3
 
Hors ligne Nanoc # Posté le 01/05/2008 à 20:38:51
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
Hors ligne Jaloyan1 # Posté le 01/05/2008 à 20:59:24
Choisir = se priver du reste.
Avatar
Groupe : Membres
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.
Image utilisateur
Image utilisateur
Image utilisateur

Chef du fan club de jaloyan1
 
Hors ligne total chaos # Posté le 01/05/2008 à 21:11:14
le C++, j'en mange!
Avatar
Groupe : Bannis
"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
Groupe : Membres
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
Groupe : Membres
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
Groupe : Membres
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
Apprenez à utiliser la STL !!
Avatar
Groupe : Membres
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.
 

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 443 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0766s (0.0569s)