tableaux en perl - Perl - Programmation
Marsh Posté le 20-03-2006 à 09:39:51
ReplyMarsh Posté le 20-03-2006 à 11:16:18
pospos a écrit : tes positions sont des entiers qui se suivent? |
Bonjour
non la position est incluse dans le bloc et est une chaine de caracteres en clair elle sert a identifier le bloc
par contre tout le reste se sont des entiers
Marsh Posté le 20-03-2006 à 11:35:13
appcar a écrit : Bonjour |
pour etre plus claire :
le fichier est fait de la maniere suivante :n blocs constitue de :
POSITION= TRENTAAAA
VAL1 VAL2 6 8 (avec 6 =nb val1 et 8=nb val2)
liste valeurs VAL1
liste valeurs VAL2
matrice nb val1 colonnes sur nb val2 lignes
ci joint un exemple d'un bloc
TRENTAAAA th81lw
VAL1 VAL2 6 8
0.00000 3048.00 6096.00 9144.00 11277.6 13106.4
0.200000 0.300000 0.500000 0.700000 0.800000 0.850000 0.890000 0.960000
27339.9 22299.7 16466.8 10554.7 7556.3 5734.7
24336.1 20542.1 14500.8 9808.0 7178.3 5039.0
20042.6 18161.4 13595.2 9260.9 6794.4 4771.8
16367.9 15512.6 13263.1 9656.0 7004.1 4928.3
14234.1 14345.7 12451.4 9812.1 7268.6 5276.7
14253.1 13714.6 12076.2 9734.1 7600.2 5457.8
13797.1 13300.3 11740.0 9535.8 7466.4 5462.8
12884.2 12588.9 11151.5 9210.2 7466.4 5462.8
Marsh Posté le 20-03-2006 à 17:35:53
autre question, les valeurs de val1 et val2 ce sont les index de ta matrice?
en gros dans ton exemple
c'est M[3048][0.2] = 22299.7 ?
ou alors M[1][0] = 22299.7 ?
Marsh Posté le 21-03-2006 à 08:58:34
pospos a écrit : autre question, les valeurs de val1 et val2 ce sont les index de ta matrice? |
c'est bien M[1][0] = 22299.7
Marsh Posté le 21-03-2006 à 09:18:03
alors tu peux faire ca:
my %hash;
$hash{$pos}[$x][$y] = $val;
Citation : Au final je dois pour une position donnée, |
$hash{$pos}[$x][$y]
Citation : pour une position donnée |
@{$hash{$pos}[$x]}
en fait chaque valeur de %hash est une reference vers une liste, qui elle meme contient desz reference vers une autre liste.
Tu peux en fait l'ecrire comme ca:
$hash{$pos}->[$x]->[$y]
Marsh Posté le 20-03-2006 à 09:00:39
Bonjour a tous,
Avant de faire cet help j'ai biensur consulter les pbs resolus de cet ordre mais bon
je débute en perl et je n'arrive pas a resoudre mon pb :
Je dois lire un fichier contenant plusieurs blocs
Chaque bloc est fait de la manière suivante :
une position
- une liste de valeurs val1
- une liste de valeurs val2
- une matrice de valeurs relatives a va1 et val2
Bien entendu le nombre de val et val2 diffère par bloc
Au final je dois pour une position donnée,
une valeur de val1 donnée et une valeur de val2 donnée
fournir la valeur dans ma matrice
ou bien
pour une position donnée
une valeur val1 donnée
fournir les n valeurs de ma matrice correspondante
Jai commencé a faire la lecture et a mettre tout ça dans un tableaux a n dimensions
Mais je ne men sors pas et je narrive pas a récupérer ce que je veux .. peut être que par table de hash ce serait mieux
Si quelquun pouvait maider ce serait très sympa
Merci