Pb de tableau
Résolu/Fermé
jml263
-
27 févr. 2013 à 21:05
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 1 mars 2013 à 09:18
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 1 mars 2013 à 09:18
A voir également:
- Xxxxxczzzz
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. - Forum Excel
- Tableau de combinaison loto 5/90 - Forum Logiciels
1 réponse
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié par [Dal] le 28/02/2013 à 10:28
Modifié par [Dal] le 28/02/2013 à 10:28
Salut jml263,
Voilà une méthode.
1.
Tout d'abord, tu charges chaque ligne du premier fichier dans un hash, avec la valeur récupérée comme clef (en supprimant le \n avec chomp), et en valeur une chaîne vide.
2.
L'étape 2 suppose que l'on utilise une regexp sur chaque ligne du 2ème fichier.
Dans :
Est-ce qu'on peut dire que le caractère à matcher est :
- dans une ligne commençant par 5 caractères quelconques
- se trouve en 6ème position
- qu'il est suivi de 4 caractères quelconques
- puis d'un ; et d'un nombre composé de chiffres terminant la ligne
Si oui, la regex suivante
Et donc, tu utilises chaque caractère matché comme clef de ton hash, pour mettre à jour le hash avec la valeur récupérée (y compris donc le ; qui est matché aussi).
3.
Tu as toutes tes données dans le hash désormais. Il te suffit de le parcourir, éventuellement en le triant par rapport aux clefs, et d'afficher pour chaque clef une ligne où tu concatènes la clef et la valeur contenue.
Dal
Voilà une méthode.
1.
Tout d'abord, tu charges chaque ligne du premier fichier dans un hash, avec la valeur récupérée comme clef (en supprimant le \n avec chomp), et en valeur une chaîne vide.
2.
L'étape 2 suppose que l'on utilise une regexp sur chaque ligne du 2ème fichier.
Dans :
XxxxxByyyy;123 XxxxxCzzzz;456il te faudra une regex pour matcher B dans "XxxxxByyyy;123" et C dans "XxxxxCzzzz;456" (et pour récupérer ce qui est à la suite du ; y compris le ;, c'est mieux dans ton cas)
Est-ce qu'on peut dire que le caractère à matcher est :
- dans une ligne commençant par 5 caractères quelconques
- se trouve en 6ème position
- qu'il est suivi de 4 caractères quelconques
- puis d'un ; et d'un nombre composé de chiffres terminant la ligne
Si oui, la regex suivante
^.{5}(.).{4}(;[0-9]+)$matche ce caractère, d'une part, et le point virgule suivi du nombre, d'autre part.
Et donc, tu utilises chaque caractère matché comme clef de ton hash, pour mettre à jour le hash avec la valeur récupérée (y compris donc le ; qui est matché aussi).
3.
Tu as toutes tes données dans le hash désormais. Il te suffit de le parcourir, éventuellement en le triant par rapport aux clefs, et d'afficher pour chaque clef une ligne où tu concatènes la clef et la valeur contenue.
Dal
28 févr. 2013 à 20:53
JM
1 mars 2013 à 09:18