Bonsoir
je sais pas comment faire x à la puissance y en cpp
j'ai essayer x**y ca marche pas!!!
x^y ca marche pas!!!
si y a qq un qui peut m'aider svp
merci d'avance, je travail sur DEV C++
bonne soirée
pour avoir x puissance 2. La fonction est déclarée dans math.h
Xx_pussy_slayer_kevin_maltais_xX
merci <3
abdeloihab
Auteur
salut
merci bcp Luffy
mais quand je fais ça:
float a,x,y;
cin>>x,y;
cout<<a;
je donne:2 puis 3
il me donne 1 comme 2 puissnce 3??!!
je sais pas pourquoi
a plus
Luffy =)
C'est parce que quand tu veux récupérer 2 données avec une seule ligne de code, il faut mettre :
cin >> b >> c;
et là cela devrais marcher, car j'ai tester chez moi, et ça fonctionne nickel !
abdeloihab
Auteur
merci bcp
ca marche trés bien
a plus
Sisyph
J'ai un soucis similaire, mais avec un exposant sous forme de fraction :
2^(7/5)
et pow ne me sort pas le bon résultat (j'ai testé avec un cas simple, pow(100,1/2)
comment puis je le résoudre?
ali
if faut que les paramètres d'entrées de pow soient de type double ceci un programmes testé en microsoft visual studio 2008 et donne du bonne résultat
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <stdio.h>
using namespace std ;
Comme dit plus bas l'erreur vient du fait qu'une fraction de la forme n / m est évaluée comme un entier (vu que n est de type int). Il faut pour ces cas de figure caster n en double par exemple.
Ensuite dans ton exemple de programme, tu inclues plein de headers qui servent à rien et tu fais un mélange entre les headers C et les opérateurs du C++. Ainsi ton programme s'écrit de manière propre comme ceci :
En C++ :
#include <cmath>
#include <iostream>
int main() {
double a, b;
std::cin >> a;
std::cin >> b;
std::cout << pow(a, b) << std::endl;
return 0;
}
En C :
#include <math.h>
#include <stdio.h>
int main() {
double a, b;
scanf("%lf", &a);
scanf("%lf", &b);
printf("%lf\n",pow(a, b));
return 0;
}
fiddy
Contributeur
Juste une petite erreur : printf("%f\n",pow(a, b)); (%f au lieu de %lf).
mamiemando
Modérateur
Parfaitement, j'allais le dire ;-)
mamiemando
Modérateur
Ah oui mais attention 1/2 = partie_entiere(0.5) = 0 en C (contrairement à 1.0/2 qui vaut bien 0.5). Peut-être que le problème vient de là !
Marcol417
n'oublie pas d'importer la bibliotheque math.h
fiddy
Contributeur
@Marcol417La réponse a déjà été donnée il y a 9 ans...
Et pour info, math.h n'est pas une bibliothèque.