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 ... 7 8 9 10 11 12 13 ... 26 27 28 29 Suivante | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||
| Page : Précédente 1 2 3 ... 7 8 9 10 11 12 13 ... 26 27 28 29 Suivante | |||
noob4ever
|
# Posté le 01/06/2008 à 21:22:03 | ||
I aim for the middle.![]() Groupe : Membres |
Reprise du dernier message de la page précédente :
Petite question, est-ce qu'on doit obligatoirement garder l'odre ? Car quand je decompresse, j'écris en ordre alphabétique.Exemple : not compressed : JJJIIIII compressed : 5@I3@J decompressed : IIIIIJJJ Grave ou pas ? Mets ta bouche contre le trottoir tout de suite. |
||
zero ptt
|
# Posté le 01/06/2008 à 21:24:07 | ||
![]() Groupe : Bannis |
d'apres ce que j'ai compris, on ne pourrait pas avoir de conteneur d'elements associé a des clefs qui sot non ordonné
mon tout nouveau siteweb: Creations regroupe tous mes programmes de A à Z (piur me soutenir, un clic sur la pub suffit)attention, google arrive ![]() |
||
freecircus
|
# Posté le 01/06/2008 à 21:33:38 | ||
"Se coucher tard nuit"![]() Groupe : Membres |
noob4ever > bah t'imagines si après avoir décompressé une image les pixels seraient triés par couleur, ça le fait moyen
Je sais qu'ici c'est juste pour l'exercice, mais préserver l'information me semble un principe incontournable.
Édité
le 01/06/2008 à 21:34:40
par freecircus
|
||
Genius
|
# Posté le 01/06/2008 à 21:44:10 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
@Jaloyan :
Exactement ce à quoi je pensais durant ma douche ![]() Il faudrait par contre exclure certains caractères (EOF...) @noob4ever : Bah oui quand même ![]() T'imagines tu compresses "Bonjour" et tu te retrouve avec "ruojnoB" ? ![]() Mais bon c'est pas vraiment un problème, il suffit d'inverser l'ordre lors de la décompression, c'est pas compliqué ![]() Je pensais également à un truc : peut être existe t-il dans la table ASCII un nombre qui ne correspond à aucun caractère ? Si oui il pourrait être le flag
Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
Goten
|
# Posté le 01/06/2008 à 21:46:19 | ||
![]() Groupe : Membres |
Inverser l'ordre? il a pas dit qu'il ressortait en fonction de l'alphabet?
|
||
Jaloyan1
|
# Posté le 01/06/2008 à 21:46:57 | ||
Choisir = se priver du reste.![]() Groupe : Membres |
ben le caractere EOF.
Bien pensé mais c'est déjà pris. Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. ![]() ![]() ![]() Chef du fan club de jaloyan1 |
||
Genius
|
# Posté le 01/06/2008 à 21:52:19 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
@Goten : Aaaah d'accord, j'avais pas compris :oups:
Ben alors faut revoir la compression je pense, le but est quand même de conserver les informations pour les restituer dans l'état initial non ? (sinon on pourrait faire un "compresseur" qui vide tout simplement le fichier, ça prendrait moins de place )@Jaloyan : Oui, apparement la table est pleine ^^, peut être le 255, DEL ? (je vois pas comment on peut stocker DEL dans un fichier :^o ) Ou sinon 176 par exemple; bien moins utilisé que @ (je savais même pas qu'il existait ).
Édité
le 01/06/2008 à 21:52:54
par Genius
Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
Isra17
|
# Posté le 01/06/2008 à 22:03:08 | ||
ouin![]() Groupe : Membres |
noob4ever: ben si pour toi décompresse un image et la décompresser pour qu'elle deviennent à l'envers n'est pas grave...
Si tu utilise un conteneur pour stocker tes string, utilise un dequeue.
Édité
le 01/06/2008 à 22:10:11
par Isra17
Hero War c'est pour bientôt? Ouais!! |
||
Genius
|
# Posté le 01/06/2008 à 22:13:31 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
Isra17, tu as mal compris (en fait tu as compris la même chose que moi tout à l'heure ; l'ordre n'est pas inversé, mais le fichier est trié dans l'ordre alphabétique.
Exemple : fffbjaaaccbb => aaabbbccfffj Donc là le fichier n'a plus de sens du tout. Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
Isra17
|
# Posté le 01/06/2008 à 22:19:14 | ||
ouin![]() Groupe : Membres |
ha, d'accord, sinon je viens de trouver un bogue dans la manière de compresser de Nanoc. C'est encore à cause du flag. Disons que nous avons cette chaîne: aaabbb1@yzzz
cela donne: 3@a3@b1@03@z Vous voyez l'erreur? je décompresse et j'ai: aaabbb0zzz je propose que nous abolissons le flag et que nous fesons comme la méthode officiel (wiki ou comme le dit Genius) une autre méthode serait d'utiliser 0@ à la place. Ainsi il est clair que nous ne pouvons trouver ambigue de mettre 0 fois @. Ex: aaabbb1@0zzz cela donne: 3@a3@b10@3@z donc: aaabbb1@zzz
Édité
le 01/06/2008 à 22:24:28
par Isra17
Hero War c'est pour bientôt? Ouais!! |
||
poulecaca
|
# Posté le 01/06/2008 à 22:25:16 | ||
![]() Groupe : Membres |
le beug peut etre reglé en codant le flag @@
|
||
Genius
|
# Posté le 01/06/2008 à 22:26:58 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
Il faut voir quand même que c'est Nanoc qui crée les exercices et anime ce sujet, à lui de décider
(même si j'aime pas "sa" méthode :p)
Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
Isra17
|
# Posté le 01/06/2008 à 22:44:33 | ||
ouin![]() Groupe : Membres |
poulecaca : et tu diminue encore plus la compression, 0@ marche très bien
et hop, mon encodeur marche parfaitement
Édité
le 01/06/2008 à 22:44:54
par Isra17
Hero War c'est pour bientôt? Ouais!! |
||
poulecaca
|
# Posté le 01/06/2008 à 22:49:58 | ||
![]() Groupe : Membres |
ben Isra17 coder @@ ou 0@ il y a deux caractère dans les deux cas donc la compression reste la meme
![]() Mon encodeur marche parfaitement aussi seulement d'ailleur on m'a toujours pas repondu pour l'histoire du flag entré par la personne : doit on mettre en argument le nouveau flag pour décompresser le fichier ou se débrouiller pour que le flag soit ecrit dans le fichier au risque de perdre un caractère pour le taux de décompression.
Édité
le 01/06/2008 à 22:52:03
par poulecaca
|
||
zero ptt
|
# Posté le 01/06/2008 à 22:57:23 | ||
![]() Groupe : Bannis |
je ne trouve pas du tout de conteneurs a clefs non ordonnés, je seche vraiment là!
mon tout nouveau siteweb: Creations regroupe tous mes programmes de A à Z (piur me soutenir, un clic sur la pub suffit)attention, google arrive ![]() |
||
Freedom
|
# Posté le 01/06/2008 à 22:59:38 | ||
|
apprenti Groupe : Membres |
Citation : Isra17
Disons que nous avons cette chaîne: aaabbb1@yzzz cela donne: 3@a3@b1@03@z Vous voyez l'erreur? je décompresse et j'ai: aaabbb0zzz Si tu respectais l'algo tu aurait pas cette erreur: aaabbb1@yzzz 3@a3@b1@0y3@z et en decompressant 3 fois le a, puis 3 fois le b, puis 1 fois ... ha bha non, on a dit que 1 fois on mettais direct donc c'est un 1, puis un @ pui y et 3 fois z : aaabbb1@yzzz Citation : The Who We're not gonna take it Never did and never will YAGNI Architecture logicielle & Développement |
||
poulecaca
|
# Posté le 01/06/2008 à 23:06:33 | ||
![]() Groupe : Membres |
D'accord freedom mais la chaîne aaabbb6@yzzz
3@a3@b6@0y3@Z 3 fois a 3 fois b 6 fois (au mince on peut très bien avoir 6 fois quelque chose) 0 1 fois y et 3 fois z on a donc aaabbb000000yzzz oups
Édité
le 01/06/2008 à 23:07:13
par poulecaca
|
||
Genius
|
# Posté le 01/06/2008 à 23:06:58 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
Mais si tu remplaces la chaîne de départ par "aaabbb3@yzzz" par exemple, le problème est toujours là
Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
Isra17
|
# Posté le 01/06/2008 à 23:23:24 | ||
ouin![]() Groupe : Membres |
bon, il ne reste plus qu'a attendre que Nanoc revienne et change les règle. Sinon, vous êtes rendu où vous autre? Moi j'ai finis l'encodage et l'interface (ligne de commande) j'ai la possibilité de définir le flux de sortie (console ou fichier) et de définir le flux d'entré (chaine ou fichier). reste plus qu'a décoder le tout.
Hero War c'est pour bientôt? Ouais!! |
||
Freedom
|
# Posté le 01/06/2008 à 23:34:07 | ||
|
apprenti Groupe : Membres |
Citation : poulecaca
D'accord freedom mais la chaîne aaabbb6@yzzz 3@a3@b6@0y3@Z 3 fois a 3 fois b 6 fois (au mince on peut très bien avoir 6 fois quelque chose) 0 1 fois y et 3 fois z on a donc aaabbb000000yzzz oups Oui oui, sa je suis d'accord, je montrais juste l'exemple donné par Isra17, se compressait et decompressait tres bien avec l'algo de Nanoc Citation : Genius Mais si tu remplaces la chaîne de départ par "aaabbb3@yzzz" par exemple, le problème est toujours là La d'accord aussi, le probleme se pose des qu'on a n@0, avec n compris entre 3 et 9, sinon l'algo marche. Citation : Isra17 Sinon, vous êtes rendu où vous autre? Me reste a mettre en place la recupération avec les parametre du main(), et la gestion des exeptions, sinon sa a l'air de marcher Citation : The Who We're not gonna take it Never did and never will YAGNI Architecture logicielle & Développement |
||
Isra17
|
# Posté le 01/06/2008 à 23:36:52 | ||
ouin![]() Groupe : Membres |
vite comme ça, qu'est-ce qui ne marche pas avec n@@?
Hero War c'est pour bientôt? Ouais!! |
||
poulecaca
|
# Posté le 02/06/2008 à 07:25:06 | ||
![]() Groupe : Membres |
il me reste aussi les exeptions.
|
||
Jaloyan1
|
# Posté le 02/06/2008 à 07:45:46 | ||
Choisir = se priver du reste.![]() Groupe : Membres |
la solution serait de mettre n@@(comme l'a dit isra17)
Et n peut etre égal a 1 c'est de la perte d'espace mais bon il faut bien. Comme ca on est sur que l'algo pourra marcher avec cet exemple.
Édité
le 02/06/2008 à 07:46:02
par Jaloyan1
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 02/06/2008 à 09:16:52 | ||
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Bon bon, je vois qu'une modification s'impose.
La conservation de l'ordre est important. Il faut que la compression puis la décompression d'un fichier me rende le fichier original ! Sinon, ça n'a aucun intérêt. On ne peut pas abandonner le flag. Que ceux qui pensent ça, essayent de compresser "234555166" et ensuite de décompresser. Pour ce qui est du choix du flag. En effet, choisir un caractère "rare" est obligatoire. Maintenant, qu'est-ce qu'un caractère rare ? Si vous laissez le choix à l'utilisateur du flag, alors il devra l'indiquer à la compression et à la décompression. Par exemple : Code : Console
Pour ce qui est du codage du flag. Ok, ma méthode n'était certainement pas la meilleure. Prenons donc comme moyen de coder le flag, la syntaxe "flag flag". Ceci pose un autre problème que je vous laisse découvrir. "333@222224" -> "3@3@@5@24" Pour ceux qui veulent jouer avec les bits. Non. C'est trop compliqué. Vous vous êtes assez pleint la fois passée quand il fallait faire une simple multiplication de deux entiers. On va pas commencr à jouer sur des tableaux de bits en mémoire. Je modifie les règles en conséquence. P.S.: Pour les conteneurs à clés non-ordonnés, bien que je n'en voie pas l'intérêt ici, il n'y en a pas dans le standard.
Édité
le 02/06/2008 à 09:27:28
par Nanoc
Exercices de C++ pour tous les niveaux ! Mes tutos: Tri de Shell --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) |
||
Genius
|
# Posté le 02/06/2008 à 12:53:58 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
Citation : Nanoc
On ne peut pas abandonner le flag. Que ceux qui pensent ça, essayent de compresser "234555166" et ensuite de décompresser. Mais si Nanoc, on peut : 121314351126 Je suis d'accord que ça ne compresse pas étant donné que le résultat est plus long que le texte de départ, mais avec un flag la compression serait nulle, donc ce serait pas super utile non plus... Par contre sur une chaine comme "1111222333334444555555", sans flag on a : 4132534465 et avec on aurait 4@13@25@34@46@5, et là la méthode sans flag est plus efficace ![]() Le bon côté c'est qu'il ne peut y avoir aucun problème de ce type comme tu dis : "333@222224" -> "3@3@@5@24" (flag @@) "1116@222224" -> "3@16@05@24" (flag @0) Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
zero ptt
|
# Posté le 02/06/2008 à 13:11:24 | ||
![]() Groupe : Bannis |
si il y a par exemple dans une chaine 11 de 'a', la compression devrait retourner 9@a 2@a oubien 9@a aa ?
mon tout nouveau siteweb: Creations regroupe tous mes programmes de A à Z (piur me soutenir, un clic sur la pub suffit)attention, google arrive ![]() |
||
Kurlze
|
# Posté le 02/06/2008 à 13:36:35 | ||
L.O.S.T![]() Groupe : Membres |
Citation : Nanoc
Pour les "@@@", essaie de décompresser ton truc et tu verras ce qui se passe... Quel est le problème avec n@@ ? n étant un chiffre. J'ai par exemple ceci à compresser: @@@@@@ Quand je compresse: 6@@ Et quand je décompresse je me retrouve bien avec: @@@@@@ Si j'ai ceci à compresser: @@@@@@@@@@@@@@ Quand je compresse: 9@@5@@ Quand je décompresse: @@@@@@@@@@@@@@ Compression & Décompression : OKAY En tout cas je n'ai pas trouvé de bug dans mon code pour l'instant. Je vais voir si j'en trouve. EDIT pour zero ptt : Logiquement, d'après l'énoncé de Nanoc, tu te retrouves avec 9@a aa (enfin sans espace normalement).
Édité
le 02/06/2008 à 13:38:00
par Kurlze
You cannot change your fate. No man can. |
||
aerotec
|
# Posté le 02/06/2008 à 13:38:26 | ||
![]() Groupe : Membres |
Salut !
Il est bien sympa ton exercice Nanoc ! J'ai décidé d'essayer de le faire mais j'ai déjà un problème Comment découper une chaine string comme AAAAABBB juste entre le A et le B ? J'ai pensé a maChaine.substr() comme dans le tuto de M@teo mais il faut indiquer ou couper, ce que l'on ne sait pas... Merci |
||
zero ptt
|
# Posté le 02/06/2008 à 13:46:53 | ||
![]() Groupe : Bannis |
c'est u exercice ça, reflechis toi meme! et si tu bloque, je suis pret a t'aider dans un mois
mon tout nouveau siteweb: Creations regroupe tous mes programmes de A à Z (piur me soutenir, un clic sur la pub suffit)attention, google arrive ![]() |
||
Genius
|
# Posté le 02/06/2008 à 13:48:39 | ||
Mais que se passe-t-on ?![]() Groupe : Membres |
Kurzle => S'il n'y a qu'un ou deux @, il y a un problème...
Un joueur d'échecs c'est comme de la peinture, s'il n'est pas brillant il est mat... In a world without walls and fences, who needs Windows and Gates ? (\_/) Copiez/collez lapin dans votre signature, (='.'=) et aidez le à concrétiser sa domination du monde ! (")_(") |
||
Isra17
|
# Posté le 02/06/2008 à 13:55:44 | ||
ouin![]() Groupe : Membres |
mais c'est quoi le prob?
Hero War c'est pour bientôt? Ouais!! |
||
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.
420 Zéros connectés |
7 requêtes |
0.2092s (0.1675s)
