Título: series en C Publicado por: m@o_614 en 29 Junio 2012, 04:58 am Saludos tengo el siguiente programa que me calcula e imprime la siguiente serie:
a) 1/1+1/2+1/3......1/n n seria el numero que el usuario le de pero no me imprime el calculo correcto y no se por qué Código
de antemano gracias Título: Re: series en C Publicado por: BlackZeroX en 29 Junio 2012, 05:06 am En lugar de float usa double...
Dulces Lunas!¡. Título: Re: series en C Publicado por: twins en 29 Junio 2012, 05:43 am El error es bastante simple solo debes cambiar los int por float ya que c tiene problemas cuando combinas los tipos de datos. saludos
#include <stdio.h> #include <stdlib.h> int main(){ float suma=0,n,i; printf("Dame el numero de terminos\n"); scanf("%f",&n); for(i=1;i<=n;i++) suma=suma+1/i; printf("%.2f",suma); return 0; } Título: Re: series en C Publicado por: ryan parker en 29 Junio 2012, 06:52 am El unico detalle es solo usar casting float en la division 1/i (pues i es entero).
Y con eso si que va de padre. twins: No es nada recomendable usar comparacion de punto flotante :silbar: Título: Re: series en C Publicado por: durasno en 29 Junio 2012, 06:52 am Hola! el problema es que estas haciendo una division de enteros: i y 1 son enteros por lo tanto la division va a dar un entero. Podes hacer lo que te dijeron(trabajar todo con float o double) ó indicar que 1 es un float, ¿como?
Código
o directamente castear la division: Código
Saludos |