Achats/Ventes : aalvas et 6 utilisateurs inconnus

 Mot :   Pseudo :  
 
 Page :  1  2  3  4  5  6  7  8  9  10  11
Auteur
 Sujet :

Topic Programmation

 
n°57779
Ashe
reenignE esreveR
Posté le 07-05-2007 à 19:53:56  profilanswer
 

Reprise du message précédent :
Au passage fflush(stdin) c'est le mal (tm)
(fflush c'est que pour les streams de sortie)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57780
LostSoul
Manieur de hache
Posté le 07-05-2007 à 20:09:12  profilanswer
 

fredo490 a écrit :

Edit, le technique de Ashe fonctionne à merveille ! Merci bien.


 
Normal c'est le seul type à encore utiliser scanf (à part toi :lol:) et qui connaît par coeur les chaînes de formattage. Celà dit comme il explique rien j'espère que t'as compris ce qu'il a tapé... parce que juste réappliquer sans piger ca sert à rien


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57781
Ashe
reenignE esreveR
Posté le 07-05-2007 à 20:11:19  profilanswer
 

J'ai jamais utilise scanf, vu que j'ai jamais ne serait-ce que compile un programme en C :p
Edit: et au passage c'est un bete regexp donc bon :p


Message édité par Ashe le 07-05-2007 à 20:11:55

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57782
LostSoul
Manieur de hache
Posté le 07-05-2007 à 20:12:31  profilanswer
 

Ah c'est nul moi qui croyais que t'étais bon, en fait tu sais lire et c'est tout ...  [:bbloup:3]


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57783
Ashe
reenignE esreveR
Posté le 07-05-2007 à 20:20:36  profilanswer
 

Si ca peut te rassurer sur ton incompetence, on va dire que oui :D


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57784
LostSoul
Manieur de hache
Posté le 07-05-2007 à 20:22:33  profilanswer
 

Ca doit être ça  [:bbloup:3]


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57811
fredo490
Mais pourquoi donc ?
Posté le 10-05-2007 à 15:53:21  profilanswer
 

Question juste comme ça : on a des pros de MATLAB ici ?!

n°57812
Ashe
reenignE esreveR
Posté le 10-05-2007 à 15:54:50  profilanswer
 

Le defunt Charlydk, ou moi vu que je sais peut-etre lire des trucs sur matlab en + du C (tout est possible)


Message édité par Ashe le 10-05-2007 à 15:54:59

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57813
sebx
boulet cherche canon
Posté le 10-05-2007 à 17:09:27  profilanswer
 

oh pinaise j'ai souffert avec matlab moi  :D
(simulations de systèmes en cours d'automatique  :p)


---------------
Célibataire & béhémiste de service
Gentil Organisateur des rencontres matbe
JH 27 ans, bon salaire, propriétaire, roulant en berline Allemande cherche femme pour mariage, bébés et + si affinités
n°57820
Twan
Posté le 11-05-2007 à 07:13:06  profilanswer
 

Yen a ici qui aurai un petit algo simple de compression de chaine de caracteres ?

n°57821
LostSoul
Manieur de hache
Posté le 11-05-2007 à 07:19:02  profilanswer
 

http://en.wikipedia.org/wiki/Huffman_coding


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57822
Twan
Posté le 11-05-2007 à 07:42:44  profilanswer
 

Merci :jap:
Je vais me pencher la dessus cette apres midi. Ca a l'air pas mal

n°57823
LostSoul
Manieur de hache
Posté le 11-05-2007 à 08:39:16  profilanswer
 

y'a certainement d'autres liens qui expliquent huffman mieux que ça ;)


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57824
Ashe
reenignE esreveR
Posté le 11-05-2007 à 11:03:45  profilanswer
 

Sinon comme trucs ultra simple y a le RLE
(edit: mais pour du texte ca fera pas des miracles a moins d'avoir plusieurs fois la meme lettre ;))


Message édité par Ashe le 11-05-2007 à 11:05:54

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57825
LostSoul
Manieur de hache
Posté le 11-05-2007 à 11:08:49  profilanswer
 

RLE c'est pas cette "compression" qu'on utilisait y'a très longtemps et qui, sur des BMP, faisait parfois des résultats compressés plus gros que les fichiers d'origine ? :crazy:


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57827
Ashe
reenignE esreveR
Posté le 11-05-2007 à 11:33:53  profilanswer
 

Ca doit etre ca
En fait ca compresse quand des pixels adjacents ont la meme couleur (donc en gros ca dit "4x blanc" plutot que "blanc blanc blanc blanc" )
Mais bon du texte de boulet sur MSN ca se compresse bien en RLE:
 

Citation :


boulet> loooooooooooooooooooool
boulet> stroooooooo b1 ton trk


 
(et vu l'absence de ponctuation et autre ca pourrait meme tenir sur 6 bits par caractere)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57830
LostSoul
Manieur de hache
Posté le 11-05-2007 à 13:18:59  profilanswer
 

Wep j'me souviens de ce machin j'avais fait ça en ... GFA Basic sur Atari :/
 
Pour TWAN:
 
RLE cay tout con ca compte le nombre d'occurences successives d'une valeur et ca le stocke sous forme valeur - nombre d'occurences. Le prob c'est que le nombre d'occurences successives doit être d'au moins 3 pour gagner de la place. En plus il te faut un code spécial pour distinguer si t'es dans le cas d'une occurence unique ou dans le cas d'une série d'occurences. Ca permet de coder facilement de l'ASCII classique (7 bits) genre:
 
Si c'est une occurence unique: tu stockes le code ASCII de la lettre
Si c'est une occurence multiple : tu stockes 0x80 + le nombre d'occurences de la lettre (max 127 occurences successives) suivi de la lettre.
 
Genre si tu as AABCCCDDEFF
 
0x82 0x41 (bit de poids fort mis -> série, 2 caractères, A)
0x42 (pas de bit de poids fort -> caractère unique B)
0x83 0x43 (bit de poids fort mis -> série, 3 caractères, C)
0x82 0x44 (idem avec D)
0x45 (E tout seul)
0x82 0x46 (deux fois F)
 
Ca compresse ûber mal, ca n'est intéressant que quand le nombre d'occurences successives dépasse 2 (parce qu'une occurence de 2 caractères est remplacée par 2 bytes donc pas de gain) donc dans un texte, à moins qu'il soit bourré de blancs, ca sert à rien :sol:
 
 


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57831
Twan
Posté le 11-05-2007 à 13:27:45  profilanswer
 

bah je vais regarder plus serieusement Hoffman. Merci

n°57833
LostSoul
Manieur de hache
Posté le 11-05-2007 à 13:29:32  profilanswer
 

http://nicolas410.free.fr/huffman/page1.php
http://perso.orange.fr/walid.nabha [...] fman4.html

 

(PS: on trouve des librairies de compression un peu partout, stun peu bête d'aller recoder qqch alors que des tas de gens l'ont déjà fait avant toi :sol:)


Message édité par LostSoul le 11-05-2007 à 13:31:39

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57834
Ashe
reenignE esreveR
Posté le 11-05-2007 à 13:47:42  profilanswer
 

Bah chuppose que c'est pour ses cours sinon il aurait pas demande :D
Sinon en autre super facile a programmer ('fin pas autant que RLE mais quand meme) y a LZW, ca marche pas mal pour du texte


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57835
LostSoul
Manieur de hache
Posté le 11-05-2007 à 13:58:11  profilanswer
 

http://cristal.inria.fr/~simonet/t [...] 001-07.pdf
http://src.pu-pm.univ-fcomte.fr/pu [...] le_LZW.pdf


Message édité par LostSoul le 11-05-2007 à 14:03:00

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57837
Twan
Posté le 11-05-2007 à 17:42:15  profilanswer
 

Nan nan c'est pas pour mes cours, c'est pour ma boite. on doit faire tenir une chaine de 27 caractere dans un code barre de moins de 5mm, et donc ca serait cool qu'on ai plus qu'une 20aine de caracteres a passer dans le code barre.

n°57838
LostSoul
Manieur de hache
Posté le 11-05-2007 à 17:54:24  profilanswer
 

transformation sur base d'un polynome et stockage du résultat (une valeur numérique donc) comme code barre spas possible ca ?
Ca doit être réversible ou pas ?

 

EDIT:  sinon une piste possible
En supposant que tu n'as besoin de coder que les 26 lettres de l'alphabet, les 10 chiffres et le blanc, ca te fait 37 codes. 37 codes ca tient sur 6 bits (ca te laisse même de la marge pour des caractères spéciaux)
27 caractères * 6 bits = 162 bits, soit 21 bytes ...

 

Autre piste : tes chaînes de caractère à l'origine ca contient quoi ? des mots ? Parce qu'alors tu peux créer un dictionnaire et associer un code unique à chaque mot, une phrase peut alors se résumer à quelques codes.


Message édité par LostSoul le 11-05-2007 à 18:02:11

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57839
Twan
Posté le 11-05-2007 à 18:03:39  profilanswer
 

Je me suis deja fait un algo de ce type. Merci. Mais c'est pas des masse performant. Parce qu'en remettant en caractere, on tombe de temps en temps sur des caracteres non imprimable, style EOF ou des truc du style.

n°57840
LostSoul
Manieur de hache
Posté le 11-05-2007 à 18:04:25  profilanswer
 

Et pourquoi veux tu remettre ça en caractère ? :p

 

EDIT : et de toute façon avec la compression t'auras exactement le même prob et de toute façon la performance d'un algo de compression sur une chaîne de 27 caractères elle avoisine le zéro le plus absolu (vu que ce qui est compressable ce sont les redondances d'information, or dans 27 caractères, la chance d'avoir des redondances est quand même très très faible)


Message édité par LostSoul le 11-05-2007 à 18:05:54

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57841
Twan
Posté le 11-05-2007 à 18:05:47  profilanswer
 

pour pouvoir l'imprimer en code barre ;)

n°57842
LostSoul
Manieur de hache
Posté le 11-05-2007 à 18:06:45  profilanswer
 

Ben un code barre ca imprime des bits ... on s'en fout des caractères imprimables ou pas ...


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57843
Twan
Posté le 11-05-2007 à 18:09:05  profilanswer
 

Avec windev ca marche pas comme ca, c'est des chaines de caracteres qu'il faut envoyer :spamafote: En plus c'est pas du code barre traditionnel, mais du DataMatrix

n°57844
LostSoul
Manieur de hache
Posté le 11-05-2007 à 18:11:23  profilanswer
 

Alors t'es baisé :sol:
 
parce que si t'as 27 caractères à convertir, que tu le compresses, et que le résultat doit être de l'imprimable, tu dois repasser par un truc genre base64 qui va bousiller ta compression.
 
Donc autant faire tout passer comme ça ...


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57845
Twan
Posté le 11-05-2007 à 18:24:40  profilanswer
 

Bah avec Huffman, j'ai fait des test et en binaire je gagne 60% en moyenne sur mes codes barres donc en rajoutant des bits pour pas tomber sur des caracteres non imprimables, je devrais arriver a une compression de 40-50% je pense, je vais deja essayer de comprendre l'algo

n°57846
LostSoul
Manieur de hache
Posté le 11-05-2007 à 18:30:56  profilanswer
 

Voir msn :p


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57851
Twan
Posté le 11-05-2007 à 19:23:11  profilanswer
 

Merci Lost :jap:
Bon je crois que je vais faire un truc tout bateau alors, comme dit plus haut. Je code mes caracteres sur 6bits, je les mets tous a la suite, je rajoute tous les 7bits un bit a 1 pour etre sur de pas avoir de caracteres non imprimables, puis je redécoupe en octets, et je remets ca en caracteres.  
Pour 27 caracteres, j'arrive a 24, c'est deja ca. Mais moins de 20 aurait vraiment été génial.

n°57853
LostSoul
Manieur de hache
Posté le 11-05-2007 à 21:58:51  profilanswer
 

J'ai une autre idée alakon mais faut que tu puisses stocker les noms "encodés" quelque part
1- pour tous les noms dont la taille est inférieure à 20 tu changes pas
2- pour tous les noms dont la taille est supérieure à 20 :
Tu prends les 18 premiers caractères
Tu cherches les occurences identiques des 18 premiers caractères
Tu te sers des 2 derniers pour "numéroter" les identiques

 

un exemple court sur 10 caractères

 

abcdefghi -> - de 10 caractères reste comme ca

 

aaabbbcccddd -> 12 caractères
aaabbbccefghi -> 13 caractères

 

les 8 premiers sont identiques (aaabbbcc)

 

le 1er devient aaabbbcc01
le 2e devient aaabbbcc02

 

un peu comme le moyen de recoder les noms longs windows en 8.3 quoi

 

Au fait j'aimerais bien savoir pourquoi tu dois utiliser une chaine de caractères pour générer un code barre et surtout c'est quoi exactement ta chaîne parce qu'en général ce qu'on utilise pour générer un code barre c'est un identifiant unique ou un ID et un timestamp ou qqch du genre ...


Message édité par LostSoul le 11-05-2007 à 22:00:00

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57859
Twan
Posté le 11-05-2007 à 22:32:00  profilanswer
 

Ben en fait on stock pas mal d'info dans ces codes barres. La derniere appli que j'ai faite avec ce type de code barre, il y avait environ 2500 caracteres stockés dans les code barres, alors comme ca ca evitait de charger une BD dans le scanner qui gere tous les produits a scanner.
Sinon j'ai pas bien compris ta méthode :/

n°57860
LostSoul
Manieur de hache
Posté le 11-05-2007 à 22:34:06  profilanswer
 

Enfin bon les codes barres c'est pas fait pour stocker 2500 caractères ... Ta boîte elle fait des trucs bizarres ...


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57861
Ashe
reenignE esreveR
Posté le 11-05-2007 à 22:34:20  profilanswer
 

Sa methode c'est avec une table externe au code barre pour retrouver la chaine complete


Message édité par Ashe le 11-05-2007 à 22:34:27

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57862
Twan
Posté le 11-05-2007 à 22:35:44  profilanswer
 

LostSoul a écrit :

Enfin bon les codes barres c'est pas fait pour stocker 2500 caractères ... Ta boîte elle fait des trucs bizarres ...


http://content.answers.com/main/content/wp/en/c/c2/Sample_pdf417.png
C'est un exemple de CB que je manipule. Si tu fais un peu attention, on commence a en voir de plus en plus ;)

n°57863
LostSoul
Manieur de hache
Posté le 11-05-2007 à 22:36:01  profilanswer
 

Maintenant si t'es OBLIGE de stocker l'ENTIERETE de ta chaine dans ton code barre ...

 

EDIT : ptain spas un code barre ca stune carte perforée des années 50 :lol:


Message édité par LostSoul le 11-05-2007 à 22:36:45

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57864
Ashe
reenignE esreveR
Posté le 11-05-2007 à 22:36:09  profilanswer
 

LostSoul a écrit :

Enfin bon les codes barres c'est pas fait pour stocker 2500 caractères ... Ta boîte elle fait des trucs bizarres ...


Boah datamatrix c'est 2 KB
(et HCCB facile le double)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°57865
LostSoul
Manieur de hache
Posté le 11-05-2007 à 22:37:53  profilanswer
 

Ashe a écrit :

Boah datamatrix c'est 2 KB
(et HCCB facile le double)


 
Wais mais dans ce cas là, 20 ou 27 caractère si t'as droit à 2048, taka rabioter ailleurs quoi


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°57866
Twan
Posté le 11-05-2007 à 22:38:53  profilanswer
 

Ben c'est de plus en plus répendu, surtout le datamatrix, et dans le domaine pharmaceutique.
la c'est un programme pour l'armée qu'on fait.

 Page :  1  2  3  4  5  6  7  8  9  10  11

Aller à :
Ajouter une réponse