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 :

Algorithmique autour les tableaux


Sujet :

Algorithmes et structures de données

  1. #41
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par sidahmed Voir le message
    Décaler à gauche les valeurs 5 et 6 !
    decaler 5 et 6 a gauche menera a supprimer 4 et la case de 4 sera celle de 5 et celle de 5 c'est 6 et celle de 6 sera vide ou sera t-il supprimé elle aussi?

  2. #42
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    sur mon exemple 3456 et insertion de 1 entre 4 et 5 comment ça s'interprete?
    t[i+1]=t[i](c'est bien comme ça accia)
    pardonnez moi je sais que je suis lourde j'arrive pas a comprendre les choses rapidement
    Non, ne dis pas ça car c'est très normal : c'est en pratiquant que l'expérience vient ! Cependant nous attendons un expert en ascii art pour t'illuster correctement les idées.

    Bonne nuit ! Je suis claqué.

  3. #43
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    sur mon exemple 3456 et insertion de 1 entre 4 et 5 comment ça s'interprete?
    t[i+1]=t[i](c'est bien comme ça accia)
    pardonnez moi je sais que je suis lourde j'arrive pas a comprendre les choses rapidement
    on est là pour s'aider

    bon on va dérouler ça de manière à ce que tu comprenne:

    dans un vecteur tu as la suite 3 4 5 6 chaque entier dans une case

    insérer le 1 entre le 4 et le 5

    lire (nombre); { le 1 }
    lire (position); {position 3 }

    i := position; {i := 3}
    Tant que (i <= nbElement) faire {tant que i <= 4 puisque tu as 4 valeurs}
    t[i + 1] := t[i]; { t[4] := t[3] }
    i := i + 1; {incrémenter i, i=4}
    Fin Tant que
    t[position] := nombre; { t[3] := 1}
    nbElement := nbElement + 1; {là je ne sais pas pourquoi il a fait ça }

    on fait appel à Sidahmed pour une petite explication, on faisant t[i + 1] := t[i] on écrase pas les valeurs?

  4. #44
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Points : 292
    Points
    292
    Par défaut
    Bonjour,
    Citation Envoyé par acacia Voir le message
    nbElement := nbElement + 1; {là je ne sais pas pourquoi il a fait ça }
    On a bien inséré un nouvel élément, donc nbElement augmente de un
    on fait appel à Sidahmed pour une petite explication, on faisant t[i + 1] := t[i] on écrase pas les valeurs?
    Ici, oui tu as raison et j'ai même mentionné que j'ai pas testé les deux codes !
    En fait, j'avais écrit la première version de l'algorithme comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    i := nbElement;
    Tant que (...) faire
      t[i + 1] := t[i];
      i := i - 1;
    Fin Tant que
    Franchement, j'arrive pas à suivre la discussion, désolé je suis vraiment harassé ! À demain si Dieu le veut

    Bonne nuit !

  5. #45
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    je propose une autre idée, on fait toujours le décalage à droite, mais on commence par le dernier élément.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    lire (n);
    lire (nombre);
    lire (position);
     
    i := n;
     
    Tant que (i > position) faire
     
    T[i+1] := T[i];
    i := i-1;
     
    Fin tant que
     
    t[position] := nombre;
    Citation Envoyé par sidahmed Voir le message
    Bonjour,

    On a bien inséré un nouvel élément, donc nbElement augmente de un


    Bonne nuit !
    oui, c'est utile si on veut refaire l'insertion pour d'autres éléments.

    Bonne nuit

  6. #46
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Points : 292
    Points
    292
    Par défaut
    Bonjour,

    voilà pour l'insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    lire(nombre);
    lire(position);
     
    i := nbElement;
    Tant que (i >= position) faire
      t[i + 1] := t[i];
      i := i - 1;
    Fin Tant que
    t[position] := nombre;
    nbElement := nbElement + 1;
    Cordialement,
    Sidahmed.

    Citation Envoyé par acacia Voir le message
    je propose une autre idée, on fait toujours le décalage à droite, mais on commence par le dernier élément.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    l
    lire (nombre);
    lire (position);
    
    i := n;
    
    Tant que (i >= position) faire
    
    T[i+1] := T[i];
    i := i-1;
    
    Fin tant que
    
    t[position] := nombre;
    Au fait, c'est mon idée que je n'ai pas complétée faute de la fatigue

  7. #47
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par sidahmed Voir le message
    Au fait, c'est mon idée que je n'ai pas complétée faute de la fatigue
    excuse moi si je me suis permise de corriger ton "idée" qui n'était pas totalement correcte

    dans tout les cas, ce n'est qu'un petit algorithme très simple, qui ne nécessite pas une signature.

  8. #48
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par sidahmed Voir le message
    Bonjour,

    voilà pour l'insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    lire(nombre);
    lire(position);
    
    i := nbElement;
    Tant que (i >= position) faire
      t[i + 1] := t[i];
      i := i - 1;
    Fin Tant que
    t[position] := nombre;
    nbElement := nbElement + 1;
    Cordialement,
    Sidahmed.


    Au fait, c'est mon idée que je n'ai pas complétée faute de la fatigue
    bon;sur mon exemple 3 4 5 6 et insertion de 1 entre 4 et 5 on aura 65143 donc la position de 5 et 6 n'a pas changé et la position de 3 et 4 a augmenter donc c'est plutot t[i]=t[i+1]
    bref sur mon exemple comment ca s'interprete t[i+1]=t[i].?
    et merci a toi et acacia pour m'aider à comprendre

    j'ai une autre chose que j'aimerais bien que vous me le faire comprendre;
    en fait dans un algo;on me demande de trier par selection(c'est quoi ça par selection?)n elements de tableau?mais je sais pas comment commencer!et cette methode de selection je veux la comprendre;
    merci!!!!

  9. #49
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Je pense qu'au vu de toutes tes questions, il serait plus facile pour toi de trouver un cours, qui t'expliquera toutes tes réponses.

    http://algo.developpez.com/cours/

    Et plus particulièrement ceci :

    http://lapoire.developpez.com/algorithmique/initiation/

  10. #50
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    bon;sur mon exemple 3 4 5 6 et insertion de 1 entre 4 et 5 on aura 65143 donc la position de 5 et 6 n'a pas changé et la position de 3 et 4 a augmenter donc c'est plutot t[i]=t[i+1]
    bref sur mon exemple comment ca s'interprete t[i+1]=t[i].?
    et merci a toi et acacia pour m'aider à comprendre

    j'ai une autre chose que j'aimerais bien que vous me le faire comprendre;
    en fait dans un algo;on me demande de trier par selection(c'est quoi ça par selection?)n elements de tableau?mais je sais pas comment commencer!et cette methode de selection je veux la comprendre;
    merci!!!!
    PRomu@ld a raison, essaye de voir ou revoir quelque cours d'algorithmique.

    le t[i+1]=t[i] sert pour le décalage.

    pourquoi le décalage? puisque tu vas insérer une autre valeur dans ton tableau, (on suppose que le tableau est de taille suffisante) cette valeur sera mise dans une case supplémentaire du tableau, et en plus de l'insertion, tu as indiqué une position entre les cases déjà pleine du tableau, pour ne pas perdre ou écraser les anciennes valeurs, on fait un décalage.

    tu avais:
    | 3 | 4 | 5 | 6 |

    après un décalage à droite (et on commence par décaler le 6 pour ne pas écraser les valeur et faire de la place pour le 1)


    | 3 | 4 | . | 5 | 6 |

    le processus du décalage se fait comme suit:

    (en rouge c'est la case supplémentaire)

    | 3 | 4 | 5 | 6 | . |

    3 | 4 | 5 | . | 6 |

    3 | 4 | .| 5 | 6 |

    et maintenant, on a i initialisé à n (nbElement) i=4

    t[i+1] = t [5] et c'est la case supplémentaire (en rouge)
    t[5] = 6
    et puisque c'est en boucle:
    t[4] = 5

    on arrive à la position, et on insère le 1

    @ sidahmed: je pense que ce que tu as repris en bleu sur mon algorithme n'était pas "vraiment" faux!

  11. #51
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Je pense qu'au vu de toutes tes questions, il serait plus facile pour toi de trouver un cours, qui t'expliquera toutes tes réponses.

    http://algo.developpez.com/cours/

    Et plus particulièrement ceci :

    http://lapoire.developpez.com/algorithmique/initiation/
    merci!!
    en fait j'ai lu et relu et relu les cours d'algorithmique.
    je sais que mes questions vous semblent d'une personne qui n'a meme pas lu son cours.
    moi je trouve des difficultés en exercices surtout,parce que
    j'arrive pas à interpreter tout mot de l'algorithme!
    c'est pourquoi d'ailleur je suis dans ce forum pour que vous m'aidiez à comprendre!
    merci

  12. #52
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Dans un cours que j'ai lu, en arrivant aux exercices je me bloque! je sais an fait quoi faire.?
    nous sommes arrivés dans la classe aux tableaux d'une seule dimension!
    et comme vous le verrez j'ai lu mais j'ai pas trouver ce mot tri par selection!
    j'ai voulu resoudre mon exercice qui traite la classification de mes elements de tableau par le tri par selection mais.......

  13. #53
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    et comme vous le verrez j'ai lu mais j'ai pas trouver ce mot tri par selection!
    http://algo.developpez.com/cours/


    <extrait>
    Je le re-re-répète, si l’on est dans un langage où les indices commencent à zéro, il faut en tenir compte à la déclaration :

    Tableau Note(13) en Numérique

    ...créera un tableau de 14 éléments, le plus petit indice étant 0 et le plus grand 13.
    et demain, cours de C...
    </extrait>
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  14. #54
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    oui merci.en fait j'ai pas cherché dans les chapitres qui suivent les tableaux puisque nous sommes arrivés dans les tableauxpardon

  15. #55
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    s-ehtp as-tu suivi ce que je t'ai expliqué ou dois-je comprendre que je me suis tuée pour rien ?

  16. #56
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    merciii cherie acacia j'ai compris
    bon je suis entrain de faire un algo pour stockage d'une serie de nombre dans un tableau de taille maximale 100.ll'operation se termine lorsqu'on tape 0.et on nous demande d'afficher le tableau.
    mon essai est le voila:
    algorithme:tableau
    debut
    variables:N tableau de Tmax=100
    i:entier
    i=1

    repeter
    ecrire("entrer un nombre")
    lire(N(i))
    i=i+1
    jusqu'à N(i)=0 ou i superieur à 100
    fin
    bon ce que je voulais c'est de me corrigez
    merci!!

  17. #57
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par acacia Voir le message
    s-ehtp as-tu suivi ce que je t'ai expliqué ou dois-je comprendre que je me suis tuée pour rien ?
    mais non, mais non...

    J'ai parcouru le cours en diagonal, ca fait peur quand meme:
    Voilà la raison qui nous oblige à passer par une variable booléenne , un « drapeau » qui peut se lever, mais jamais se rabaisser. Et cette technique de flag (que nous pourrions élégamment surnommer « gestion asymétrique de variable booléenne ») doit être mise en œuvre chaque fois que l’on se trouve devant pareille situation.
    La vache... Faudra que j'essaye ca dans mon prochain code:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class AsymetricBooleanVariableManagement {
      private boolean flag=false;
      public void set() {flag=true;}
      public boolean isSet() { return flag; }
    }
    La classe...
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  18. #58
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    merciii cherie acacia j'ai compris
    bon je suis entrain de faire un algo pour stockage d'une serie de nombre dans un tableau de taille maximale 100.ll'operation se termine lorsqu'on tape 0.et on nous demande d'afficher le tableau.
    mon essai est le voila:
    algorithme:tableau
    debut
    variables:N tableau de Tmax=100
    i:entier
    i=1

    repeter
    ecrire("entrer un nombre")
    lire(N(i))
    i=i+1
    jusqu'à N(i)=0 ou i superieur à 100
    fin
    bon ce que je voulais c'est de me corrigez
    merci!!
    re,

    le numéro que fait entrer l'utilisateur est seulement à lire, non à travers le tableau, puisqu'il n'y est pas, ce que tu comptes faire avec ton algo est un stockage, donc le tableau est initialement vide.

    réfléchis encore

    Bonsoir pseudocode,

    Citation Envoyé par pseudocode Voir le message

    J'ai parcouru le cours en diagonal, ca fait peur quand meme:


    La vache... Faudra que j'essaye ca dans mon prochain code:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class AsymetricBooleanVariableManagement {
      private boolean flag=false;
      public void set() {flag=true;}
      public boolean isSet() { return flag; }
    }
    La classe...
    c'est de quel cours cet extrait?

  19. #59
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    merciii cherie acacia j'ai compris
    bon je suis entrain de faire un algo pour stockage d'une serie de nombre dans un tableau de taille maximale 100.ll'operation se termine lorsqu'on tape 0.et on nous demande d'afficher le tableau.
    mon essai est le voila:
    algorithme:tableau
    debut
    variables:N tableau de Tmax=100
    i:entier
    c:caractere
    i=1

    repeter
    ecrire("entrer un nombre")
    lire(N(i))
    i=i+1
    ecrire ("voulez vous continuez)
    jusqu'à N(i)=0 ou i superieur à 100 ou c='n' ou c='N'
    fin
    bon ce que je voulais c'est de me corrigez
    merci!!
    et cet algo?

  20. #60
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    et cet algo?
    d'abord c'est "entrez un nombre" ou "entrez un caractère" que va contenir ton futur tableau?

    réfléchis à ça:

    lire(N(i))

    !!!!

Discussions similaires

  1. Mais pourquoi ... Avec IE les tableaux sont décentrés ?
    Par nebule dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/11/2004, 10h04
  2. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 22h00
  3. Réponses: 14
    Dernier message: 01/09/2003, 22h46
  4. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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