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

inverser les var



  1. #1
    invitefc1671e3

    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. #2
    invite88ef51f0

    Re : inverser les var

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

  3. #3
    invitefc1671e3

    Re : inverser les var

    non j'ai un probleme avec des passage de parametres

    je ne siais pas c'est quoi

  4. #4
    inviteab78879b

    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

  5. A voir en vidéo sur Futura
  6. #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,)

  7. #6
    invite8b867113

    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.

  8. #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

  9. #8
    invitefc1671e3

    Re : inverser les var

    voila encore plus simple

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


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


    }

  10. #9
    invite208810d1

    Re : inverser les var

    Oui mais ta fonction n'est pas généralisable pour un couple de deux entiers quelconques.

  11. #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'.

  12. #11
    invite8b867113

    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, 14h15
  2. Incendie dans l'Estérel (Var)
    Par invitec053041c dans le forum Géologie et Catastrophes naturelles
    Réponses: 4
    Dernier message: 17/07/2007, 18h42
  3. ABELISAURIDAE du Beausset (dans le Var)
    Par invitef539dc94 dans le forum Paléontologie
    Réponses: 0
    Dernier message: 17/03/2007, 16h42
  4. [identification] Fossile Du Var
    Par invite72ed91f2 dans le forum Paléontologie
    Réponses: 0
    Dernier message: 08/12/2005, 16h22
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...