Cita de: crack81 en 19 Julio 2016, 21:22 PM
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:Código (cpp) [Seleccionar]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 doubleCódigo (cpp) [Seleccionar]float a=1;
float b=2;
float total=a/b;
Tu programa:Código (cpp) [Seleccionar]int main()
{
float p=pow(25.0,1.0/2.0);
cout<<p<<endl;
return 0;
}
Saludosss
Excelente muchas gracias!!