c ofuscado
Tengo que entregar una práctica en la que hay que dar el valor a f(x) en una función por partes:
Mi código es este:
#include <stdlib.h>
#include <math.h>
#include <locale.h>
#include <stdio.h>
float num, resultadolog, resultadoexp, resultadopot1, resultadopot2;
int main(void) {
printf(" Definición de f(x) por partes \n");
printf("========================================== ==================\n");
printf(" Valor de f(x)\n");
printf(" ln(x) si 2<=x<=5\n");
printf(" e^(x+1) si -1<=x<2\n");
printf(" x^2-x si x>5\n");
printf(" x^2-x^3 si x<-1\n");
printf("\n");
printf("Introduzca un número \n");
scanf ("%f", &num);
printf("El número introducido es %f \n", num);
if (num>=2){
double log(double x);
double x=num;
resultadolog=log(x);
printf("f(%f) tiene el valor de %f \n", num, resultadolog);}
else
printf("- \n");
if (num<=5){
double log(double x);
double x=num;
resultadolog=log(x);
printf("f(%f) tiene el valor de %f \n", num, resultadolog);}
else
printf("- \n");
if (num>=-1){
double exp(double x);
double x=num;
resultadoexp=exp (x + 1);
printf("f(%f) tiene el valor de %f \n", num, resultadoexp);}
else
printf("- \n");
if (num<2){
double exp(double x);
double x=num;
resultadoexp=exp (x + 1);
printf("f(%f) tiene el valor de %f \n", num, resultadoexp);}
else
printf("- \n");
if (num>5){
double pow(double x, double y);
double x=num, y=2, y3 = 1;
resultadopot1=pow(x,y)-pow(x,y3);
printf("f(%f) tiene el valor de %f \n", num, resultadopot1);}
else
printf("- \n");
if (num<-1){
double pow(double x, double y);
double x=num, y1=2, y2=3;
resultadopot1=pow(x,y1)-pow(x,y2);
printf("f(%f) tiene el valor de %f \n", num, resultadopot2);}
else
printf("- \n");
system("pause");
return 0;
}
No sé qué cojones he hecho mal, pero no me dan los resultados. Al compilar es como que al introducir un número no sabe si es mayor o menor que otro número y da mal el resultado...
C ve que te equivocaste
https://www.aulafacil.com/cursos/pro...if-else-l16771
qbasic es la saludEl mensaje está oculto porque el usuario está en tu lista de ignorados.![]()
Pero si lo he compilado y ejecutado en esta página y funciona perfecto: https://onlinegdb.com/SyY1ObetBEl mensaje está oculto porque el usuario está en tu lista de ignorados.
Ah, vale, ya se lo que tienes mal.
Edito: Aquí tienes el resultado: https://onlinegdb.com/By2wpblFB
Código:#include <stdlib.h> #include <math.h> #include <locale.h> #include <stdio.h> float num, resultado; int main (void) { printf (" DefiniciC3n de f(x) por partes \n"); printf ("========================================== ==================\n"); printf (" Valor de f(x)\n"); printf (" ln(x) si 2<=x<=5\n"); printf (" e^(x+1) si -1<=x<2\n"); printf (" x^2-x si x>5\n"); printf (" x^2-x^3 si x<-1\n"); printf ("\n"); printf ("Introduzca un nC:mero \n"); scanf ("%f", &num); printf ("El nC:mero introducido es %f \n", num); if (num < -1) resultado = pow (num, 2) - pow (num, 3); else if (num < 2) resultado = pow (M_E, num + 1) - num; else if (num < 5) resultado = log (num); else resultado = pow (num, 2) - num; printf ("f(%f) tiene el valor de %f \n", num, resultado); system ("pause"); return 0; }
Última edición por Equis; 13/10/2019 a las 04:35
Muchísimas gracias shur, cómo te lo agradezco. Podrías explicarme qué significa M_E?El mensaje está oculto porque el usuario está en tu lista de ignorados.
M_E = Mecago_EndiosEl mensaje está oculto porque el usuario está en tu lista de ignorados.
de nada
En serio, ya ni me acuerdo de lo básico, que asco de hacerse viejo...
Es el número e jajajajajEl mensaje está oculto porque el usuario está en tu lista de ignorados.
Cómo te fue? Entendiste el código?El mensaje está oculto porque el usuario está en tu lista de ignorados.
El mensaje está oculto porque el usuario está en tu lista de ignorados.
Yo lo hice hace menos de 2 años y prácticamente no me acuerdo de nadaEl mensaje está oculto porque el usuario está en tu lista de ignorados.![]()