IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

intervertir ligne ou colonnes d'un tableau


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut intervertir ligne ou colonnes d'un tableau
    bonjour,

    existe-t-il un moyen simple de travailler sur les lignes ou colonnes d'un @tableau?
    admettons que j'ai un tableau 10*10, et je souhaite extraire les colonnes d'indices 7 et 8, et les inserer entre la colonne 3 et la colonne 4.
    En réalite la matrice, et assez monstrueuse, et je dois tenter d'epargner la memoire. Donc si il y a un moyen d'eviter de tout stocker, afin de les recopier dans l'ordre qu'il me plait ce serait bien.

  2. #2
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Bonjour,

    Faute de mieux (là, je n'ai pas le temps de chercher), tu peux toujours le faire avec la fonction splice : tu enlèves les colonne que tu veux décaler et tu les stockes dans un tableau intermédiaire (c'est le premier splice) puis tu les réinsère (second splice).

    Mais sincèrement, je doute que ce soit la meilleure solution. Je chercherai plus tard si je ne trouve pas mieux

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    ok, j'ai stocké les colonnes à inserer, decaler les autres et réinserer à l'endroit voulu !! Par contre j'ai fait ça ligne par ligne pour eviter de stocker toute la colonne, comme ça à chaque tour de boucle, je ne stocke qu'un scalaire.
    Je pense également que ce n'est pas franchement optimisé, mais ça fonctionne.

    Je laisse le sujet ouvert, si quelqu'un à une idée, qu'il n'hésite pas.

    @Woufeil: merci d'avoir répondu !

  4. #4
    Membre confirmé Avatar de blacksnake
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 64
    Par défaut
    Si ça peut t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach (@saphir_cnt) {
        my $fields = split ';', $_;
        $_ = join ' ', @fields[ 0, 1, 2, 3, 7, 8, 4, 5, 6, 9  .. $# fields ]; 
    )

Discussions similaires

  1. Supprimer une ligne et colonne d'un tableau de int
    Par alex2746 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 31/05/2011, 17h19
  2. [MySQL] Calculer une somme pour chaque ligne et colonne d'un tableau
    Par baggie dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/05/2010, 09h55
  3. ajouter des lignes et colonnes dans un tableau
    Par sky88 dans le forum Débuter
    Réponses: 1
    Dernier message: 03/12/2008, 18h04
  4. Insertion dynamique de lignes en colonne dans un tableau
    Par lodan dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/03/2007, 07h18
  5. Supprimer toutes les lignes et colonnes d'un tableau
    Par pekka77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/12/2005, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo