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 :

algorithme pour inverser les éléments d'un tableau


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut algorithme pour inverser les éléments d'un tableau
    salut

    j'aimerais créer un algorithme pour inverser les éléments d'un tableau

    voila ce que j'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pour i=0 à n-1 faire
    T'[i]=[n-i]
    finpour
    s'il vous plaît essayez de me rectifier et merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Quelles sont les dimensions de ton tableau ?

    Qu'entends-tu pas "inversion" ?
    Ne souhaites-tu pas plutôt faire des permutations d'éléments ?

  3. #3
    Membre éprouvé
    Avatar de mr_langelot
    Profil pro
    Inscrit en
    Août 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 113
    Par défaut
    sinon

    devrait marcher

    EDIT autant pour moi!

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par mr_langelot Voir le message
    sinon

    devrait marcher
    On est dans le forum Algorithmes ici... pas MATLAB

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Il veut retourner le tableau, le renverser, inverser l'ordre des éléments du tableau, que les premiers deviennent les derniers et réciproquement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Pour i=0 à n-1 Faire
      T'[i]=[n-i]
    FinPour
    Si tu as essayé ce code, tu as dû constater qu'il ne marchait pas, qu'en fait il laissait le tableau inchangé, non ?
    C'est parce que tu en fait trop, non seulement tu échange un élément du début du tableau avec l'élément correspondant en fin de tableau, mais tu refais cet échange une deuxième fois, ce qui revient donc à ne pas faire d'échange du tout... Réfléchis à tes bornes et au nombre d'échange que tu as vraiment besoin de faire (ce n'est pas n comme dans ton code) et tu devrais avoir ta solution.

    --
    Jedaï

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut
    Salut, tu peux commencer par remplir le tableau après t'utilise une boucle de i=1 jusqu'à n//2 (//: Division entière)
    tu fais ici les instructions de permutations a l'aide d'une nouvelle variable
    dernier mot t'affiche le résultat
    et c'est fini ^^ Good luck

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut
    je suis un débutant comme toi mais je vous propose une solution



  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Au cas où... il existe une astuce qui n'entraîne aucune permutation physique :

    La question est alors de savoir si la formule la plus simple est ou n'est pas un algorithme (et surtout si elle correspond à ce qui est réellement demandé) !

    A plus !

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    Le plus simple est de multiplier ton tableau (matrice) avec la matrice unité symétrique :
    Sous matlab (pardon) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    clear
    A=[3 4 5]
    M=[0 0 1;0 1 0;1 0 0]
    Ainv=A*M
    La matrice M s'obtient aussi avec :

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Pour la permutation matérielle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    d au début du tableau ( c'est souvent : 0 )
    f à la fin du tableau ( c'est souvent : taille_du_tableau-1 )
     
    tant que d < f faire
        permuter T[d] et T[f]
        incrémenter d
        décrémenter f
    fin tant que
    Une permutation sous cette forme, peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    t = T[d]
    T[d] = T[f]
    T[f] = t
    A plus !

Discussions similaires

  1. Inverser les éléments d'un tableau
    Par IDE dans le forum Algorithmes et structures de données
    Réponses: 28
    Dernier message: 23/10/2006, 23h25
  2. Réponses: 10
    Dernier message: 27/03/2006, 18h38
  3. algorithme pour enlever les occurences d'une liste
    Par bendenice dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/02/2006, 23h28
  4. Réponses: 4
    Dernier message: 11/01/2006, 09h22
  5. "inverser" les valeurs d'un tableau
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 12/12/2005, 12h13

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