La probaste al menos? Es C básico!
Pienzo lo mismo, para que quieres math.h si solo tienes que dividir y multiplicar dos números!
Te lo explico por partes:
quedaría así
Ahora el operador ternario
Si la condicion es verdadera, se asigna resultado_si, si es falsa se asigna resultado_no. Los paréntesis no son necesarios. Pero en nuestro caso tenemos dos operaciones para la ultima sentencia, así que la separamos con la coma
return resultado;
Sintetizando nos queda así
Cita de: -- KiLiaN -- en 27 Agosto 2012, 01:16 AMY no sería más fácil multiplicar por sí misma la variable y obtener así el cuadrado?
Pienzo lo mismo, para que quieres math.h si solo tienes que dividir y multiplicar dos números!
Te lo explico por partes:
Código (c) [Seleccionar]
// Si el resultado es cero abortamos la división
if(z == 0) // pero lo escribo asi if(!z)
return 0;
x = x/z; // pero lo escribo así x /= 2
x = x*x; // pero lo escribo asi x *= x
quedaría así
Código (c) [Seleccionar]
if(!z)
return 0;
x /= z;
x *= x;
return x;
Ahora el operador ternario
Código (c) [Seleccionar]
a = (condicion)? (resultado_si): (resultado_no);
Si la condicion es verdadera, se asigna resultado_si, si es falsa se asigna resultado_no. Los paréntesis no son necesarios. Pero en nuestro caso tenemos dos operaciones para la ultima sentencia, así que la separamos con la coma
Código (c) [Seleccionar]
// si z vale 0 retornamos cero, en otro caso realizamos las dos operaciones...
// la expresión con comas tendra el valor de la última
resultado = (z == 0)? (0): (x /= z, x * x );
return resultado;
Sintetizando nos queda así
Código (c) [Seleccionar]
return !z? 0: (x /=z, x*x);