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

Programme C - élever à la puissance n un réel



  1. #1
    ade67

    Arrow Programme C - élever à la puissance n un réel


    ------

    Bonjour,

    A nouveau un problème de programmation! Je dois faire un programme tel que y=x^n où x est un réel. J'ai déjà tenter plusieurs solutions mais je ne trouves pas! J'ai compris qu'il faut faire x*x*x*x n fois mais je n'arrive pas à le traduire en programmation...
    Quelqu'un a une idée?

    -----
    Images attachées Images attachées  

  2. Publicité
  3. #2
    lou_ibmix_xi

    Re : Programme C - élever à la puissance n un réel

    Salut
    Par exemple
    Code:
    int power (int x, unsigned int n)
       int y = 1;
       unsigned int m = 1;
       while (m <= n) {
          y *= x;
          m++;
       }
       return y;
    }

  4. #3
    ade67

    Re : Programme C - élever à la puissance n un réel

    Ca ne marche pas chez moi =$ ... Je pense qu'il faudrait programmer une fonction qui compte le nombre de terme. Genre y=x*x et tant que le nombre de terme de y<n alors on en rajoute!
    Enfin reste à savoir si c'est possible un truc comme ça...

  5. #4
    Towl

    Re : Programme C - élever à la puissance n un réel

    Faut aussi faire attention aux overflow (un unsigned int ne peut pas dépasser 2^32 - 1).
    Un test générique pour faire cela pourrait etre :

    Code:
    uint32_t A, B, C;
    
    C = A*B;
    if ( C <= A || C <= B)
         printf("Overflow\n");
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  6. A voir en vidéo sur Futura
  7. #5
    Flyingsquirrel

    Re : Programme C - élever à la puissance n un réel

    Si tu n'as pas déjà corrigé l'erreur, il manque une accolade dans le code lou_ibmix_xi :
    Code:
    int power (int x, unsigned int n) {
       int y = 1;
       unsigned int m = 1;
       while (m <= n) {
          y *= x;
          m++;
       }
       return y;
    }
    Ca ne marche pas chez moi =$ ... Je pense qu'il faudrait programmer une fonction qui compte le nombre de terme. Genre y=x*x et tant que le nombre de terme de y<n alors on en rajoute!
    Enfin reste à savoir si c'est possible un truc comme ça...
    C'est exactement ce que fais le code précédent : m correspond au "nombre de x dans y". Quand m atteint n, la boucle while s'arrête et y contient xn (par contre la solution proposée calcule xn pour x entier, pas réel, il faut que tu l'adaptes)

  8. #6
    ade67

    Re : Programme C - élever à la puissance n un réel

    C'est bon ça marche! J'ai remplacé le int par float pour avoir un réel est tout est ok! Merci beaucoup !

  9. Publicité

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/09/2018, 11h52
  2. Elever une tension de quelques millivolts à quelques volts
    Par francescopaolo dans le forum Électronique
    Réponses: 9
    Dernier message: 26/11/2007, 13h57
  3. quelle puissance pour passer de complexe à réel ?
    Par YABON dans le forum Mathématiques du collège et du lycée
    Réponses: 13
    Dernier message: 16/03/2007, 20h13
  4. Elever le PH en utilisant la chaux
    Par madengineer dans le forum Chimie
    Réponses: 3
    Dernier message: 27/06/2006, 10h56
  5. Elever des très très jeunes lapins ???
    Par maxdangers dans le forum Biologie
    Réponses: 1
    Dernier message: 30/09/2005, 20h45
Découvrez nos comparatifs produits sur l'informatique et les technologies.