Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

inverser les var



  1. #1
    sdow

    inverser les var


    ------

    est ce que vous puvez m'aider je veux inverser les contenu des variable : le numero de nx=5 et ny=4
    le numero de nx=4 et ny=5

    void main(void)
    {

    int nSortie;

    static char *texte[] =
    {
    "Inverser nX et nY ",
    "Max et Ret adress ",
    "Retour NULL ",
    "Addition deuc buf ",
    "Retour DOS ",
    NULL,
    };



    DemarreFenetre(NULL);
    Message("Programme pour afficher l'heure ou la date.");

    do
    {



    switch ( nSortie=PopMenu(30,12,texte,NU LL,0,NULL))
    {

    case 0:
    InvNumero();
    break;

    case 1:

    break;

    case 2:

    break;

    case 3:

    break;

    case 4:
    nSortie=SORTIE_ESC;
    break;

    default:
    break;
    }
    PopFenetre();
    }while (nSortie!=SORTIE_ESC);
    palette[0]= A_BLANC | F_NOIR;
    VideEcran();
    GotoXy(0,0);
    StopFenetre();

    }




    /* FONCTIONS DU PROGRAMME */


    /****************************** ****************************** ***************
    *
    * Fonction qui active ou non l'affichage de l'heure
    *
    * Paramètre d'entrée:
    *
    * Paramètre de retour:
    ****************************** ****************************** ***************/



    void InvNumero(void)
    {

    int nX=4;
    int nY=5;
    printf("\n La valeur nX est %d et nY est %d",nX,nY);
    FoncInv(&nX,&nY);
    printf("\n La valeur nX est %d et nY est %d",nX,nY);


    }

    void FoncInv (int *pX,int *pY,)
    {
    pX=&nY;
    pY=&nX;

    *pX= 5;
    *pY=4;

    nX=*pX;
    nY=*pY;


    }

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    Coincoin

    Re : inverser les var

    Salut,
    Pour inverser deux variables, il faut en introduire une troisième :
    Code:
    temp=a
    a=b
    b=temp
    Encore une victoire de Canard !

  5. #3
    sdow

    Re : inverser les var

    non j'ai un probleme avec des passage de parametres

    je ne siais pas c'est quoi

  6. #4
    mtcs

    Re : inverser les var

    je suis avec Coincoin, pour inverser deux ou plusieurs entiers ou toutes autres chose (chaine de caractaire, caractaire, ...) il faut intoduire une variable intermediere et voiça mon algo;

    c <- b
    b <- a
    a<- c

  7. A voir en vidéo sur Futura
  8. #5
    umfred

    Re : inverser les var

    c'est ta fonction FoncInv qui ne va pas.
    nX et nY sont seulement connu dans la fonction InvNumero et donc ne sont pas connu dans FoncInv.
    Si tu faire ton passage de paramètre par les adresses voilà ce que j'aurai écrit (sauf erreur de pointeur)
    Code:
     void FoncInv (int *pX,int *pY)
    {
    int c;
    
    c=*pX;
    *pX=*pY;
    *pY=c;
    
    }
    Mais ici je ne voies pas l'intéret d'utiliser des pointeurs
    j'aurai écrit:
    Code:
     void FoncInv (int X,int Y)
    {
    int c;
    
    c=X;
    X=Y;
    Y=c;
    
    }
    avec pour l'appeler : FoncInv(nX,nY);

    Remarque: il y a une virgule en trop dans la déclaration de la fonction dans ton post qui doit aussi poser souci à la compilation : void FoncInv (int *pX,int *pY,)

  9. #6
    argusazure

    Re : inverser les var

    Citation Envoyé par umfred Voir le message
    Mais ici je ne voies pas l'intéret d'utiliser des pointeurs
    Il faut absolument utiliser des pointeurs pour que les variables en sortie d'appel de la fonction soient modifiées.

  10. Publicité
  11. #7
    umfred

    Re : inverser les var

    Citation Envoyé par argusazure Voir le message
    Il faut absolument utiliser des pointeurs pour que les variables en sortie d'appel de la fonction soient modifiées.
    Arf oui exact vu que les variables sont déclarés en local

    Merci d'avoir suivi

  12. #8
    sdow

    Re : inverser les var

    voila encore plus simple

    void FoncInv (int *pX,int *pY)
    {


    *pX=*pY;
    *pY=*pX-1;


    }

  13. #9
    invite79115743

    Re : inverser les var

    Oui mais ta fonction n'est pas généralisable pour un couple de deux entiers quelconques.
    Some of those tha wear forces, are the same that burn crosses.

  14. #10
    abracadabra75

    Re : inverser les var

    Bonjour à tous.
    Je croyais me souvenir qu' inverser consistait à faire le petit calcul suivant :
    inverse(x) = 1/x

    Dans tout ce qui précède , pour moi ce sont des interversions....

    le genre de truc qui peut coûter cher un jour d'examen.

    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  15. #11
    argusazure

    Re : inverser les var

    Il y a aussi la solution "économie de variable" juste histoire d'embêter le prof lors de la correction :

    x<- x-y
    y<- y+x
    x<- y-x

Discussions similaires

  1. [Divers] aedes dans le Var
    Par FC05 dans le forum Biologie
    Réponses: 5
    Dernier message: 21/09/2007, 15h15
  2. Incendie dans l'Estérel (Var)
    Par Ledescat dans le forum Géologie et Catastrophes naturelles
    Réponses: 4
    Dernier message: 17/07/2007, 19h42
  3. ABELISAURIDAE du Beausset (dans le Var)
    Par Massecaps dans le forum Paléontologie
    Réponses: 0
    Dernier message: 17/03/2007, 17h42
  4. [identification] Fossile Du Var
    Par centaure_20 dans le forum Paléontologie
    Réponses: 0
    Dernier message: 08/12/2005, 17h22
Découvrez nos comparatifs produits sur l'informatique et les technologies.