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 :

affectations différentes ? pointeurs ?


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut affectations différentes ? pointeurs ?
    Bonjour à tous
    alors voila j'ai deux questions:

    1) Y a t-il une différence entre une affectation multiple et une suite d'instruction d'affectation simple ?
    c'est-à-dire y a t il une difference entre:

    a,b:=b,a et a:= b , b:= a ?


    2)Qu'est ce qu'un pointeur ?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    oui ?

    et je suppose que ces 2 questions on te les pose dans un exercice, et que t'as rien révisé ?

    Eh ben on t'aidera pas

    on est pas là pour faire tes devoirs, et ce serait ne pas t'aider si on le faisait à ta place.

    Donc cherche de ton côté, et quand tu penses avoir trouvé quelque chose, vient nous le présenter.

    Merci
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    c'est-à-dire y a t il une difference entre:

    a,b:=b,a et a:= b , b:= a ?

    Bonjour,
    a:= b ; b:= a est une séquence d'affectations dont l'ordre est bien précis, a:=b ensuite b:=a.
    Pour ce qui est de a,b:=b,a .Là ça se complique ...
    Je pense avoir déja vu ce genre d'affectation dans mes cours de sémantique formelle.Je crois qu'ici les affectations doivent s'effectuer en parallèle
    Ce qui pourra générer des problème de sections critiques puisqu'ils utilisent les mêmes variables !

    En tout cas patientez pour voir d'autre réponses car je n'en suis pas sur.
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  4. #4
    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 Isendar Voir le message
    1) Y a t-il une différence entre une affectation multiple et une suite d'instruction d'affectation simple ?
    ca dépend... des fois oui, des fois non. Généralement: peut-être.

    2)Qu'est ce qu'un pointeur ?
    Prie pour ne jamais avoir besoin de le savoir... sinon tu finiras par porter une barbe:

    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    oui ?

    et je suppose que ces 2 questions on te les pose dans un exercice, et que t'as rien révisé ?

    Eh ben on t'aidera pas

    on est pas là pour faire tes devoirs, et ce serait ne pas t'aider si on le faisait à ta place.

    Donc cherche de ton côté, et quand tu penses avoir trouvé quelque chose, vient nous le présenter.

    Merci
    Tu es à coté de la plaque souviron, ce n'est en rien des exercice que j'aimerais qu'on me resolve parce que j'ai la flemme de chercher moi-même...

    J'ai un examen d'algo dans quelques semaine et je revise tout mon cours. En ce qui concerne la premiere question, j'ai toujours pensé qu'il n'y avait aucune difference mais si je reprend les lignes de mon livre, on a droit à :

    "remarques: Une instruction d'affectation multiple n'est pas une abréviation d'une suite d'instructions d'affectation simple. L'instruction a,b:=b,a n'a pas le même effet que l'instruction a:=b, b:=a."

    Malheureusement il n'y a pas plus d'explications...

    Et pour les pointeurs et bien...je n'y comprend vraiment pas grand chose à cette partie, apparement il y a un lien avec les L-valeurs je crois mais je n'en sais pas plus.


    Ah oui enfait, y a t-il quelqu'un qui peut m'expliquer ce qu'est qu'une "pile" et son interet dans un algorithme de tri ?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Isendar Voir le message
    J'ai un examen d'algo dans quelques semaine et je revise tout mon cours.
    ..
    Malheureusement il n'y a pas plus d'explications...
    ..
    Et pour les pointeurs et bien...je n'y comprend vraiment pas grand chose à cette partie,
    ....
    Ah oui enfait, y a t-il quelqu'un qui peut m'expliquer ce qu'est qu'une "pile" et son interet dans un algorithme de tri ?
    ..
    c'est bien ce que je disais
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Citation Envoyé par Isendar Voir le message
    Ah oui enfait, y a t-il quelqu'un qui peut m'expliquer ce qu'est qu'une "pile" et son interet dans un algorithme de tri ?


    Supposez que vous avez devant vous un ensemble de livres numérotés de 1 à 10.
    Vous allez prendre le Livre 1 et le poser devant vous,ensuite vous allez prendre le livre 2 pour le poser sur le livre 1(ce qui revient à l'empiler),même chose pour le reste des livres...jusqu'a prendre le livre 10 et le mettre sur le livre 9.

    Bon alors devant vous,vous avez maintenant une Pile de livre ordonnée de bas en haut.
    Pour pouvoir accéder au livre 8 par exemple il faudra dépiler le livre 10 ainsi que le 9...c'est clair!


    Pour ce qui est d'algorithme de tri utilisant les piles,je n'en vois pas
    Mais vous pouvez par exemple inverser l'ordre de tri en utilisant la pile...Pour l'exemple précédant,si vous dépiler tous les livre dans une nouvelle pile vous aurai la même pile mais inversée.

    Plus concretement une pile est un espace mémoire définie par une adresse debut qui restera fixe et un pointeur de sommet qui est l'adresse du sommet de la pile.
    Il n y a que deux action possibles dans une pile qui sont l'empilement et le dépilement,chacune de ses action modifiera le contenu de la pile ainsi que son pointeur de sommet.
    les piles sont utilisées pour des raison trés diverses (Sauvegarde du contexte,gestion de file d'attente...etc)
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  8. #8
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    pointeur (n.m) : personne chargé de lancer la boule de pétanque au plus près du cochonnet
    Ne pas sous-estimer l'importance du pointeur dans une équipe...

    Sinon consulte la doc C/C++, tout est expliqué de façon claire.
    A+.
    For crying out loud !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 415
    Points : 486
    Points
    486
    Par défaut
    Citation Envoyé par b_reda31 Voir le message
    Pour ce qui est d'algorithme de tri utilisant les piles,je n'en vois pas
    J'ai réussi à apprendre à mon Furby à trier des livres... mais sans piles, ça ne marche plus.

    Mais pour le fun :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
            static void Main( string[] args )
            {
                Queue<int> valeurs = new Queue<int>();
     
                valeurs.Enqueue( 1 );
                valeurs.Enqueue( 5 );
                valeurs.Enqueue( 50 );
                valeurs.Enqueue( 42 );
                valeurs.Enqueue( 95 );
                valeurs.Enqueue( 10 );
     
                List<int> resultat = new List<int>();
     
                Tri( valeurs, valeurs.Peek(), resultat );
            }
     
            static void Tri( Queue<int> valeurs, int valeurPivot, List<int> resultat )
            {
                if ( valeurs.Count == 1 )
                {
                    resultat.Add( valeurs.Dequeue() );
                }
                else
                {
                    Queue<int> droite = new Queue<int>();
                    Queue<int> gauche = new Queue<int>();
     
                    while ( valeurs.Count != 0 )
                    {
                        int valeur = valeurs.Dequeue();
     
                        if ( valeur <= valeurPivot )
                            droite.Enqueue( valeur );
                        else
                            gauche.Enqueue( valeur );
                    }
     
                    if ( droite.Count == 0 )
                    {
                        int v1 = gauche.Dequeue();
                        int v2 = gauche.Dequeue();
                        gauche.Enqueue( v2 );
                        gauche.Enqueue( v1 );
                        Tri( gauche, gauche.Peek(), resultat );
                    }
                    else if ( gauche.Count == 0 )
                    {
                        int v1 = droite.Dequeue();
                        int v2 = droite.Dequeue();
                        droite.Enqueue( v2 );
                        droite.Enqueue( v1 );
                        Tri( droite, droite.Peek(), resultat );
                    }
                    else
                    {
                        Tri( droite, droite.Peek(), resultat );
                        Tri( gauche, gauche.Peek(), resultat );
                    }
                }
            }
    (vous pensez que ce tri marche à tous les coups ??? )

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/02/2009, 16h08
  2. Affecter différents TableModel à 1 jTable
    Par sargatanas dans le forum Composants
    Réponses: 3
    Dernier message: 19/01/2009, 16h31
  3. Affecter un pointeur de fichier a un autre
    Par dr_octopus74 dans le forum Bibliothèque standard
    Réponses: 8
    Dernier message: 16/03/2008, 09h33
  4. Libération mémoire; différents pointeurs
    Par icer dans le forum Débuter
    Réponses: 11
    Dernier message: 12/12/2007, 18h35
  5. Réponses: 12
    Dernier message: 24/01/2006, 12h38

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