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

Algorithmes et structures de données Discussion :

Tableau récalcitrant du diable à quatre


Sujet :

Algorithmes et structures de données

  1. #1
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut Tableau récalcitrant du diable à quatre
    Bonjour,
    je coince sur un problème trivial.
    A l'origine, j'ai un tableau de chaînes, disont donn$(x), tel que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    1 1 2
    1 2 4
    1 3 4
    1 4 2
    1 5 7
    ...
    2 1 6
    2 2 4
    2 3 5
    2 4 2
    2 5 9
    ...
    3 1 2
    3 2 8
    3 3 7
    3 4 5
    3 5 4
    ...
    4 ... ect
    ... ect
    Je veux éliminer les lignes commençant par "2".
    J'ai réussi à les remplacer par "**".
    Mais je n'arrive pas à supprimer les "**".
    Et ça fait un sacré bon moment que je bataille (même avec un tableau provisoire)
    Et ces chiennes de lignes: "**" sont toujours là.
    Note: Le tableau n'a pas besoin de réarrangement, je voudrait juste que les "3 ..." collent aux: "1...".
    Un bout de pseudo code serait le bienvenu.
    A vot'non coeur...
    D'avance merci.
    Savoir pour comprendre et vice versa.

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $ cat fichier.txt 
    1 1 2
    1 2 4
    1 3 4
    1 4 2
    1 5 7
    ...
    2 1 6
    2 2 4
    2 3 5
    2 4 2
    2 5 9
    ...
    3 1 2
    3 2 8
    3 3 7
    3 4 5
    3 5 4
    ...
    4 ... ect
    ... ect
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ sed '/^2/d;s/3 /3/' fichier.txt 
    1 1 2
    1 2 4
    1 34
    1 4 2
    1 5 7
    ...
    ...
    31 2
    32 8
    33 7
    34 5
    35 4
    ...
    4 ... ect
    ... ect
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Cite: "$ sed '/^2/d;s/3 /3/' fichier.txt "
    Hélas, mon langage ne permet pas une telle concision.
    C'est pourquoi j'espère du pseudo-code.
    Genre:
    Pour x= 1 to fin
    Si...alors...
    .....
    Fin si
    Fin pour
    Bref, de "l'universel", de l'Espéranto du code.
    Savoir pour comprendre et vice versa.

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Tu cherches un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pour x = 1 to n 
       traitement 
    fin
    Je t'invite à chercher dans une direction 'opposée' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pour x = n to 2 pas -1 
      si   ... alors traitement
    fin
    Ce sera beaucoup plus simple.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    à: tbc92:
    J'ai fait en avençant, en reculant, par secteurs
    Et par d'autres moyens que la décense m'interdit de citer
    Savoir pour comprendre et vice versa.

  6. #6
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Suite du: 17h51
    Pour préciser: J'ai les index de début et de fin de la séquence des "2": td et td+it.
    Savoir pour comprendre et vice versa.

  7. #7
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Suite du: 18h37
    Je savait que c'était trivial, mais en fait c'est super trivial.
    Il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        for x=td to fin
          donn$(x)=donn$(x+it)
        next x
    Fallait juste bien réfléchir, mais merci quand même.
    Savoir pour comprendre et vice versa.

Discussions similaires

  1. [XL-2019] Concaténer les valeurs de quatre colonnes en une seule dans un tableau
    Par atk_49 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/09/2019, 10h39
  2. fusionner quatre requêtes dans un même tableau
    Par Mattorre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2010, 16h43
  3. Tableau récalcitrant au centrage vertical
    Par epona1 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 01/08/2008, 20h58
  4. Tableau trop récalcitrant
    Par slimbad dans le forum Word
    Réponses: 1
    Dernier message: 06/02/2008, 09h29
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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