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

 C++ Discussion :

un simple echange de valeur


Sujet :

C++

  1. #1
    Membre actif
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Par défaut un simple echange de valeur
    lors de ce simple echange de valeur le programme se bloque!!!!

    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
    #include<iostream>
    using namespace std;
    void echange(int*a,int*b)
    {
    	int*aux;
     
     
    	*aux=*a;
    	*a=*b;
    	*b=*aux;
    }
     
     
     
    int main ()
    {
    	int a,b;
    	cout<<"saisir a"<<endl;
    	cin>>a;
    	 cout<<"saisir b"<<endl;
    	 cin>>b;
     
    cout<<"a="<<a<<"  b="<<b<<endl;
    	 echange(&a,&b);
     
    cout<<"a="<<a<<"  b="<<b<<endl;
    return 0;
    }

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    C'est normal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Là, tu déclares un pointeur sur entier, mais comme tu n'initialise
    // pas ce pointeur, il ne pointe sur rien
    int*aux;
     
    // Et là, tu dis : Je veux affecter à l'entier pointé par mon pointeur la
    // valeur de l'entier pointé par le pointeur a. Sauf que comme aux ne 
    // pointe pas vraiment sur un entier, ça fait boom. 
    *aux=*a;
    Comment faire ? Et bien, tu as besoin d'un entier intermédiaire pour stocker la valeur au cours de l'échange, mais pas d'un pointeur sur entier.

    PS : En C++, pour échanger, le prototype de ta fonction aurait plutôt été défini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void echange(int &a,int &b);
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Membre très actif
    Profil pro
    professeur des universités à la retraite
    Inscrit en
    Août 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : professeur des universités à la retraite

    Informations forums :
    Inscription : Août 2008
    Messages : 364
    Par défaut
    Et en outre la STL contient une fonction d'échange, la fonction swap :
    http://www.cplusplus.com/reference/algorithm/swap/

Discussions similaires

  1. Optimiser echange de valeur entre Worksheet.
    Par petozak dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/12/2006, 15h10
  2. Echanger deux valeurs
    Par DaZumba dans le forum C
    Réponses: 17
    Dernier message: 31/08/2006, 16h41
  3. [MySQL] Echange de valeurs dont le nombre n'est pas défini
    Par Diafwl dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/01/2006, 10h47
  4. [PHP-JS] echange de valeur entre le javasript et le php
    Par cortex007 dans le forum Langage
    Réponses: 7
    Dernier message: 20/01/2006, 19h32
  5. Echange de valeurs par pointeur et réf
    Par smag dans le forum C++
    Réponses: 6
    Dernier message: 01/03/2005, 18h39

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