El problema esa en la division ya que estas haciendo un division de numeros enteros por ende da como resultado un numero entero.
Ejemplo
1/2 en C/C++ da como resultado 0 ya que no esta especificando que es un numero real
Para obtener el valor correcto hay que hacer lo siguiente
1.0/2.0 esto si nos devuelve 0.5
En especifico en tu problema al hacer pow(25.0,1/2); realmente esas haciendo 25.0^0=1
recordar que todo numero a la potencia 0 es 1
Por ultimo para que no tengas problemas similares cuando uses variables y tengas que manejar numeros decimales utilizas los tipos de datos float y double ya que hacer esto:
seguiera resultado un 0 ya que esta dividiendo numeros enteros para un correcto resultado cambia el tipo de dato a float o double
Tu programa:
Saludosss
Ejemplo
1/2 en C/C++ da como resultado 0 ya que no esta especificando que es un numero real
Para obtener el valor correcto hay que hacer lo siguiente
1.0/2.0 esto si nos devuelve 0.5
En especifico en tu problema al hacer pow(25.0,1/2); realmente esas haciendo 25.0^0=1
recordar que todo numero a la potencia 0 es 1
Por ultimo para que no tengas problemas similares cuando uses variables y tengas que manejar numeros decimales utilizas los tipos de datos float y double ya que hacer esto:
Código
int a=1; int b=2; float total=a/b;
seguiera resultado un 0 ya que esta dividiendo numeros enteros para un correcto resultado cambia el tipo de dato a float o double
Código
float a=1; float b=2; float total=a/b;
Tu programa:
Código
int main() { float p=pow(25.0,1.0/2.0); cout<<p<<endl; return 0; }
Saludosss
Excelente muchas gracias!!