Bueno el tema es que tengo que hacer : (x/z)^2
Averiguando supe que la funcion exp(x) saca el exponente, lo probe y nada.
Luego probe con pow(d1,d2) que seria d1 elevado a d2 ej: pow(4,2)->16
:-X A la expresion se la asigne a la variable x y no funka ;(
#include <stdio.h>
#include <conio.h>
int main(){
float a,b,x,resultado;
a=1;
b=4;
x=a/b;
resultado=pow(x,2);
printf ("El resultado de %f/%f al cuadrado es %f",a,b,resultado);
getch();
return 0;
}
Y me gustaria que quede algo asi:
#include <stdio.h>
#include <conio.h>
int main(){
float a,b,x,resultado;
a=1;
b=4;
resultado=pow(a/b,2);
printf ("El resultado de %f/%f al cuadrado es %f",a,b,resultado);
getch();
return 0;
}
Pero tampoco funka :(
Jaja la verdad cn esta simple tonteria no la puedo resolver jaja, Saludos ^^
Podrías hacerlo de este modo:
#include<stdio.h>
/* f(x,z) = (x/z)^2 */
float f(float x, float z)
{
return !z? 0: (x /=z, x*x);
}
int main()
{
printf("%f\n", f(20,4)); // salida: 25.00
printf("%f\n", f(24,2)); // salida: 144.00
return 0;
}
No entendi nada del codigo que pusiste jeje.
return !z? 0: (x /=z, x*x); eso de "z?" que es?
float f(float x, float z) me parecio verlo pero no recuerdo que es tampoco :(
Hola! esos dos codigo que pusiste andan bien, el problema puede ser que te falta agregar el header math.h ó tenes algun problema con Borland
Saludos
Y no sería más fácil multiplicar por sí misma la variable y obtener así el cuadrado?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int cuadrado;
printf ("Escribe un numero: ");
scanf ("%d", &cuadrado);
printf ("El resultado de %d/%d es %d \n", cuadrado, cuadrado, cuadrado * cuadrado);
system("PAUSE");
return 0;
}
La probaste al menos? Es C básico!
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:
// 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í
if(!z)
return 0;
x /= z;
x *= x;
return x;
Ahora el operador ternario
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
// 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í
return !z? 0: (x /=z, x*x);
Cita de: durasno en 27 Agosto 2012, 00:50 AM
Hola! esos dos codigo que pusiste andan bien, el problema puede ser que te falta agregar el header math.h ó tenes algun problema con Borland
Saludos
:) Jaja Graciass era eso que se me pasaba, tenia que inbocar la libreria <math.h> porque la funcion pow o sqrt son funciones de esa libreria, Saludos ;D