PI-ITBA / 2024_02

Consultas 2C 2024
3 stars 0 forks source link

Ejercicio 7 guia 5 #15

Open ssommerr opened 2 weeks ago

ssommerr commented 2 weeks ago

Hola! Quería consultar si me podían ayudar a ver que esta mal en este código.. no esta compilando directamente y no logro encontrar el error. También me podrían decir como hacerlo más eficiente? Pedía hacerlo en menos de 10 lineas pero ya con la función del factorial tengo como 5 y no encontre función hecha para reemplazarlo. última consulta porque en un momento me marcó error y solo por eso lo cambié, pero al principio esta función double exp2(double numero) pedía como parametro un int y me decía que habia un conflicto de tipos; una vez que lo cambié no marcaba más ese error.

include

include "ctype.h"

include "math.h"

/Escribir una función real para calcular aproximadamente el valor de ex por medio de la serie 1 + x + x2 / 2! + x3 / 3! + ....... Dicha función recibe como parámetros de entrada el valor de x. (En no más de 10 líneas) Hacer un programa que invoque a la función y escriba el resultado de la misma y el valor de la función exp(x) de C. / double pow(double base, double exponent); int factorial(int num) { int facto=1; for(int i=1; i<=num ;i++ ) facto*=i; return facto;

}

double exp2(double numero) { double suma=1; for(int contador=1 ; contador<=numero ; contador++) { suma+=((pow((numero), contador))/(factorial(contador))); printf("%f", suma); }

return suma;

}

int main() { printf("%f", exp2(5)); }

marcelogarberoglio commented 2 weeks ago

El código que copiaste así como está no compila porque el comentario nunca lo cerraste, entonces llega hasta el final del archivo Por otro lado veo varias desprolijidades a) Estás incluyendo "ctype.h" (en vez de ) que no necesitás b) Estás incluyendo "math.h" pero además está el prototipo de pow, ¿es tu propia función pow o querés usar la de la biblioteca estándar? ¿Qué contiene ese math.h? c) En factorail asignás i a la variable facto muchas veces, no estás multiplicando

Y para que sea eficiente, no ten;es que usar ni pow ni factorial. Por ejemplo con factorial: en la primera iteración necesitás 1!, que es 1, en la segunda 2!, que es 2 1!, en la tercera 3 2!, etc. O sea que en cada paso es el factorial del paso anterior multiplicando por el paso actual. Y algo similar con potencia. Pensalo y cualquier duda volvenos a escribir.

ssommerr commented 2 weeks ago

Genial! Muchísimas gracias!