Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison de 2 tableaux

3 réponses
Avatar
Sébastien Cottalorda
Bonjour,

Voici mon problème:

J'ai 2 tableaux:

@a = qw ( 1 3 5 7 9 11 13);
@b = qw ( 2 2 3 5 2 7 9);

disons que le tableau @a représente les chiffres attendus, et @b
représente les chiffres réellement obtenus.

J'ai volontairement décalé le tableau @a.
On voit bien que hormis le '2', le tableau @b est contenu dans le
tableau @a.
Ce que je cherche à faire : estimer la prochaine valeur que je vais
avoir dans @b : 11.
ATTENTION, j'ai représenté des valeurs croissantes dans mon tableau @a,
mais je peut avoir n'importe quoi en fait.

Je sens bien la comparaison de tableaux, mais la présence du '2' me
perturbe.

Comment voyez vous ce problème ?

Merci d'avance.

Sébastien.

3 réponses

Avatar
Nicolas George
Sébastien Cottalorda wrote in message
<43131972$0$12777$:
J'ai volontairement décalé le tableau @a.
On voit bien que hormis le '2', le tableau @b est contenu dans le
tableau @a.
Ce que je cherche à faire : estimer la prochaine valeur que je vais
avoir dans @b : 11.
ATTENTION, j'ai représenté des valeurs croissantes dans mon tableau @a,
mais je peut avoir n'importe quoi en fait.

Je sens bien la comparaison de tableaux, mais la présence du '2' me
perturbe.

Comment voyez vous ce problème ?


Ça ressemble aux problèmes de plus longues sous-suites communes, mais ta
descripton de ce que tu veux exactement est un peu trop vague pour pouvoir
en dire vraiment plus.

Avatar
Flatman
--=-=- Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: quoted-printable

* Sébastien Cottalorda wrote:
|
| Comment voyez vous ce problème ?

Ton truc me rappelle les entretiens d'embauche que j'ai subis il y a
longtemps maintenant ...

;-)

--
Erik

* Life is wonderful with Emacs and Perl *

--=-=- Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (Darwin)

iD8DBQBDEy9Dexs8k4f5tB4RAsuqAKCKUWu1ogkSHRR4ixVZ1GW6jG/r3gCcDI0S
341InMc7zdbtVLuiugjsees =tNnJ
-----END PGP SIGNATURE-----
--=-=-=--
Avatar
Jacques Caron
Salut

On Mon, 29 Aug 2005 16:19:27 +0200, Sébastien Cottalorda
wrote:

@a = qw ( 1 3 5 7 9 11 13);
@b = qw ( 2 2 3 5 2 7 9);

disons que le tableau @a représente les chiffres attendus, et @b
représente les chiffres réellement obtenus.

J'ai volontairement décalé le tableau @a.
On voit bien que hormis le '2', le tableau @b est contenu dans le
tableau @a.
Ce que je cherche à faire : estimer la prochaine valeur que je vais
avoir dans @b : 11.
ATTENTION, j'ai représenté des valeurs croissantes dans mon tableau @a,
mais je peut avoir n'importe quoi en fait.

Je sens bien la comparaison de tableaux, mais la présence du '2' me
perturbe.

Comment voyez vous ce problème ?


Si les valeurs de @a sont uniques, tu peux convertir ton tableau en hash
de la valeur suivante:

%next = map { $a[$_] => $a[$_1] } (0 .. ($#a-1))

Ensuite il suffit de faire un lookup dans %next pour connaître la valeur
(en utilisant la dernière valeur de @b). Si ca ne donne rien, on essaie
avec la valeur précédente, etc.

Si les valeurs ne sont pas uniques, c'est un peu plus dur, il faudra faire
une recherche d'un tableau dans un autre. Si les données s'y prêtent, une
conversion en chaîne et l'utilisation de index peut être une bonne idée...

Jacques.