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. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Algorithmique autour les tableaux
    bonjour ,
    je cherche un algo pour insérer une nouvelle objet
    au tableaux .
    merci

  2. #2
    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
    un peu plus de précision

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    comment insérer un entier donnée par
    l'utilisateur dans un tableau d'entiers .

  4. #4
    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
    T[i,j] := n ;

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Je crois que tu utilises un mot que nous ne comprenons pas: la verbe insérer.

    S'il s'agit-il de mettre le nouveau nombre à la place d'un ancien, les nombres suivants restent en place et la solution indiquée par acacia s'impose.

    S'il s'agit de "faire de la place entre deux nombres préexistants pour y glisser le nouveau nombre, tu dois décaler tous les suivants, ce qui ce fait par une boucle dont le compteur décroit.

    Si ton tableau a plus d'un indice, c'est à toi denous indiquer exactement ce que tu veux faire.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  6. #6
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    [mode miniTroll] Utilise les listes chainées ^_^ [/mode miniTroll]

    Et sinon plus sérieusement, soit tu fait un remplacement, auxquel cas tu écrases un nombre dans une case existante et tu le remplace par le tiens, soit tu doit commencer par décaler tous les nombres situé entre la fin du tableau et l'endroit ou tu veux faire ton insertion, et rajouter ton nombre dans la place ainsi libéré.

    Attention à la mémoire, suivant le langage, si tu mets ton dernier nombre dans une case "hors du tableau", ca peut planter sauvagement ;-)
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  7. #7
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Août 2007
    Messages : 112
    Points : 88
    Points
    88
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    begin
    write("donnez votre nombre");
    readln(nb);
    t[i]:=nb;
    end;

  8. #8
    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 onlytime Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    begin
    write("donnez votre nombre");
    readln(nb);
    t[i]:=nb;
    end;
    c'est un tableau, et non un vecteur

    (d'après sa "petite" explication)

  9. #9
    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
    c'est un tableau, et non un vecteur

    (d'après sa "petite" explication)
    Je pense qu'on peut utiliser indifféremment vecteur et tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Begin
    i := 1;
     
    write("donnez votre nombre");
    readln(nb);
    t[i] := nb;
    i := i + 1;
     
    write(t[i]);
    End.
    Cordialement,
    Sidahmed.

  10. #10
    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
    Bonsoir,

    Citation Envoyé par sidahmed Voir le message
    Bonjour,

    Je pense qu'on peut utiliser indifféremment vecteur et tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Begin
    i := 1;
     
    write("donnez votre nombre");
    readln(nb);
    t[i] := nb;
    i := i + 1;
     
    write(t[i]);
    End.
    Cordialement,
    Sidahmed.

    comment identifier t[i] dans un tableau à deux dimension?

  11. #11
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Août 2007
    Messages : 112
    Points : 88
    Points
    88
    Par défaut
    comment identifier t[i] dans un tableau à deux dimension?
    d'aprés son post c'est un tableau a une dimension (par default)

  12. #12
    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
    couramment (loin du langage utilisé pour le codage, array se dit pour les deux) en distingue un vecteur d'un tableau par les dimension de celui-ci, c'est à dire, pour éviter les ambigüités, "un tableau à une dimension" est appelé vecteur, à deux dimensions est appelé tableau (par défaut).

    Citation Envoyé par onlytime Voir le message
    d'aprés son post c'est un tableau a une dimension (par default)
    d'après son post, on ne sait pas grand chose de ce qu'il veut faire.

    amicalement.

  13. #13
    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 acacia Voir le message
    Bonsoir,
    comment identifier t[i] dans un tableau à deux dimension?
    Attends, j'ai pas compris ta question ?
    tu parles de t[i, j]

  14. #14
    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
    Attends, j'ai pas compris ta question ?
    tu parles de t[i, j]
    dans un tableau (avec des lignes et des colonnes ) on ne pourra pas identifier une case avec un seul indice.

  15. #15
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Août 2007
    Messages : 112
    Points : 88
    Points
    88
    Par défaut
    Envoyé par acacia un tableau à une dimension" est appelé vecteur, à deux dimensions est appelé tableau (par défaut).
    pour la seconde appelation je dirais plutot matrice

  16. #16
    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 acacia Voir le message
    dans un tableau (avec des lignes et des colonnes ) on ne pourra pas identifier une case avec un seul indice.
    Oui, tout à fait logique, mais je pense qu'on attend la requête exacte de le marocain afin de cerner les réponses.

    Cordialement,
    Sidahmed.

  17. #17
    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
    voilà, c'est ce que je voulais dire

    attendons quelques précision de l'auteur du sujet.

    Citation Envoyé par onlytime Voir le message
    pour la seconde appelation je dirais plutot matrice


    on a un différent avec les appellation , mais le raisonnement reste le même

  18. #18
    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 acacia Voir le message
    T[i,j] := n ;
    pardon acacia;mais si vous pouvez nous expliquer t[i;j]=n
    ce que je veux savoir c'est quoi i;j;n ils representent quoi au juste?(je suis enfait un vrai debutant)

    Citation Envoyé par FR119492 Voir le message
    Salut !

    Je crois que tu utilises un mot que nous ne comprenons pas: la verbe insérer.

    S'il s'agit-il de mettre le nouveau nombre à la place d'un ancien, les nombres suivants restent en place et la solution indiquée par acacia s'impose.

    S'il s'agit de "faire de la place entre deux nombres préexistants pour y glisser le nouveau nombre, tu dois décaler tous les suivants, ce qui ce fait par une boucle dont le compteur décroit.

    Si ton tableau a plus d'un indice, c'est à toi denous indiquer exactement ce que tu veux faire.

    Jean-Marc Blanc
    je vous remercie infiniment si vous puissiez nous donnez l'algo exact par la boucle avec les explications(en fait moi je fais toujours la confusion entre les indices n ;i n c'est quoi et le i c'est quoi vous voyez?)
    merci
    NBles boucles que j'ai etudié c'est tant que et repeter je l'ai pas encor fait en C)

    Citation Envoyé par acacia Voir le message
    couramment (loin du langage utilisé pour le codage, array se dit pour les deux) en distingue un vecteur d'un tableau par les dimension de celui-ci, c'est à dire, pour éviter les ambigüités, "un tableau à une dimension" est appelé vecteur, à deux dimensions est appelé tableau (par défaut).
    tableau a 2 dimensions;pouvez nous donnez un exemple dun tableau à 2 dimensions;et un autre pour un vecteur:
    merci!!

  19. #19
    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
    Bonjour,

    pardon acacia;mais si vous pouvez nous expliquer t[i;j]=n
    ce que je veux savoir c'est quoi i;j;n ils representent quoi au juste?(je suis enfait un vrai debutant)
    le tableau qu'on a appelé "t" tel que i représente l'indice des lignes et j l'indice des colonnes.

    n est l'entier que doit saisir l'utilisateur du programme, le nombre à insérer dans le tableau.

    t[i,j] représente la case de ligne i, et colonne j, dans le tableau t, dans cette case, on met n.

    en fait moi je fais toujours la confusion entre les indices n ;i n c'est quoi et le i c'est quoi vous voyez?
    le "i" est en général utilisé comme indice, à incrémenter (i := i+1) ou à décrémenter (i := i-1) dans une boucle.

    le n dans ce cas est une variable de type entier.

    tableau a 2 dimensions;pouvez nous donnez un exemple dun tableau à 2 dimensions;et un autre pour un vecteur:
    merci!!
    un tableau: des lignes et des colonnes n*m (comme le jeu touché-coulé)
    un vecteur: une ligne à n cases.

  20. #20
    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
    Bonsoir,
    Citation Envoyé par s-ehtp Voir le message
    je vous remercie infiniment si vous puissiez nous donnez l'algo exact par la boucle avec les explications(en fait moi je fais toujours la confusion entre les indices n ;i n c'est quoi et le i c'est quoi vous voyez?)
    merci
    NBles boucles que j'ai etudié c'est tant que et repeter je l'ai pas encor fait en C)
    Insérer un élément à la ième place :
    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 := position;
    Tant que (i <= nbElement) faire
      t[i + 1] := t[i];
      i := i + 1;
    Fin Tant que
    t[position] := nombre;
    nbElement := nbElement + 1;
    Supprimer un élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    lire(nombre);
    
    position := rechercheElement(nombre, t); 
    {position = 0 si nombre n'existe pas}
    Si (position > 0) alors
      i := position;
      Tant que (i < nbElement) faire
        t[i] := t[i + 1];
        i := i + 1;
      Fin Tant que
      nbElement := nbElement - 1;
    Finsi
    Je n'ai pas testé ces deux codes !

    Nota bene :
    1. L'indice de la première case est 1.
    2. Insertion ==> décalage à droite.
    3. Suppression ==> décalage à gauche.
    4. Insertion à la fin du tableau ne nécessite pas un décalage à droite.
    5. Suppression à la fin du tableau ne nécessite pas un décalage à gauche.
    6. Tu peux remplacer Tant que par la boucle Pour, c'est plus simple.
    7. Pour l'insertion, j'ai supposé que la taille du tableau est illimitée, dans le cas contraire il faut faire un test !

    Cordialement,
    Sidahmed.

    Citation Envoyé par acacia Voir le message
    un vecteur: une ligne à n cases.
    Ou bien une colonne à n cases

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