elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  series en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: series en C  (Leído 2,964 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
series en C
« 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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int i,n;
  7.    float suma=0;
  8.    printf("Dame el numero de terminos\n");
  9.    scanf("%d",&n);
  10.    for(i=1;i<=n;i++)
  11.        suma= suma+1/i;
  12.    printf("a) %.2f",suma);
  13.    return 0;
  14. }

de antemano gracias


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: series en C
« Respuesta #1 en: 29 Junio 2012, 05:06 am »

En lugar de float usa double...

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
twins

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: series en C
« Respuesta #2 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;
}   
En línea

ryan parker

Desconectado Desconectado

Mensajes: 81



Ver Perfil
Re: series en C
« Respuesta #3 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:
En línea

Your kung-fu is not strong!
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: series en C
« Respuesta #4 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
  1. suma= suma+1.0/i; // fijate q use 1.0

o directamente castear la division:
Código
  1. suma= suma+(float)1/i;


Saludos
En línea

Ahorrate una pregunta, lee el man
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Peliculas, Series, etc.
Sugerencias y dudas sobre el Foro
offspring13 3 3,151 Último mensaje 26 Marzo 2008, 12:05 pm
por Isirius
Seriesyonkis vs Series.ly
Noticias
m0rf 3 4,611 Último mensaje 20 Diciembre 2011, 23:15 pm
por m0rf
SERIES DE TAYLOR C++
Programación C/C++
anita0421 6 39,813 Último mensaje 17 Septiembre 2013, 05:12 am
por flony
Series cyberpunk??
Foro Libre
ghostwolf535 2 1,512 Último mensaje 3 Marzo 2014, 21:52 pm
por Gambinoh
Un smartphone en 1985 en la serie de TV V:The Series(1985)
Foro Libre
FJDA 2 2,657 Último mensaje 16 Noviembre 2020, 13:37 pm
por FJDA
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines