Bonjour à tous,
J'ai trois problèmes qui sont tous liés à résoudre:
Premier problème: J'aimerai scinder une des chaines de caracteres en les transformant en sous chaines de caracteres dans une liste.
Par exemple, j'ai la liste (fichier fic.txt) contenant sur chaque ligne (8 lignes en tout), les 14 chiffres suivantes:
Ligne1: 12010000000000
Ligne2: 12012100000000
Ligne3: 12010021000000
Ligne4: 12010000210000
Ligne5: 12010000002100
Ligne6: 12010000000021
Ligne7: 12011235000000
Ligne8: 12010023350000
l'objectif est de les transformer en chaines de caracteres et de les sincider en deux sous caractères ( 4 sous caracteres + 10 sous caracteres) sur chaque ligne de la manière suivante:
Ligne1: 1201 (4 sous caracteres) 0000000000 (10 sous caracteres)
Ligne2: 1201 (4 sous caracteres) 2100000000 (10 sous caracteres)
Ligne3: 1201 (4 sous caracteres) 0021000000 (10 sous caracteres)
Ligne4: 1201 (4 sous caracteres) 0000210000 (10 sous caracteres)
Ligne5: 1201 (4 sous caracteres) 0000002100 (10 sous caracteres)
Ligne6: 1201 (4 sous caracteres) 0000000021 (10 sous caracteres)
Ligne7: 1201 (4 sous caracteres) 1235000000 (10 sous caracteres)
Ligne8: 1201 (4 sous caracteres) 0023350000 (10 sous caracteres)
Deuxième problème: une fois que j'ai scindé en sous caractère chacune des lignes du fichier fic.txt, je dois extraire à partir des 10 sous caractère de chaque ligne une suite de deux sous caracteres (5 au maximum sur chaque ligne). Par exemple, pour la liste des 10 sous caracteres extraites du fichier fic.txt suivante:
Ligne1: 0000000000
Ligne2: 2100000000
Ligne3: 0021000000
Ligne4: 0000210000
Ligne5: 0000002100
Ligne6: 0000000021
Ligne7: 1235000000
Ligne8: 0023350000
on doit sur chaque lignes partionné (scinder) par paire de deux (on en a en tout 5 paires de 2) autres sous caracteres en les partitionnant de la manière suivante:
Ligne1: 00 00 00 00 00 (les deux paires sont 00, 00, 00, 00, 00)
Ligne2: 21 00 00 00 00 (les deux paires sont 21, 00, 00, 00, 00)
Ligne3: 00 21 00 00 00 (les deux paires sont 00, 21, 00, 00, 00)
Ligne4: 00 00 21 00 00 (les deux paires sont 00, 00, 21, 00, 00)
Ligne5: 00 00 00 21 00 (les deux paires sont 00, 00, 00, 21, 00)
Ligne6: 00 00 00 00 21 (les deux paires sont 00, 00, 00, 00, 21)
Ligne7: 12 35 00 00 00 (les deux paires sont 12, 35, 00, 00, 00)
Ligne8: 00 23 35 00 00 (les deux paires sont 00, 23, 35, 00, 00)
Troisième problème: je dois rechercher la position qu'on note par p sur chaque ligne de chacune des deux paires obtenus par partitionnement précédemment. dans le deuxieme probleme. Toutetefois si toutes les deux paires sont 00 on note la position par p0, sinon on note la position selon l'ordre d'apparition de chaque deux paires. Par exemple, à partir du deuxième probleme, on:
Ligne1: 00 (p0) 00 (p0) 00 (p0) 00 (p0) 00 (p0)
Ligne2: 21 (p1) 00 (p0) 00 (p0) 00 (p0) 00 (p0)
Ligne3: 00 (p0) 21 (p2) 00(p0) 00 (p0) 00 (p0)
Ligne4: 00 (p0) 00 (p0) 21 (p3) 00 (p0) 00 (p0)
Ligne5: 00 (p0) 00 (p0) 00 (p0) 21 (p4) 00 (p0)
Ligne6: 00 (p0) 00 (p0) 00 ( p0) 00 (p0) 21 (p4)
Ligne7: 12 (p1) 35 (p2) 00 (p0) 00 (p0) 00 (p0)
Ligne8: 00 (p0) 23 (p2) 35 (p3) 00(p0) 00 (p0)
Remarque:
p0 =position zéros c'est-à-dire qu'il n'ya aucune position
p1= première position
p2= deuxième position
p3= troisième position
p4= quatrième position
p5= cinquième position
Le nombre de position maximale est égale à 5.
Merci de votre aide
Partager