[Ayuda]Serie [(1/1)/(1/2)*(1/3)/(1/4)*...*/(1/n)]

Iniciado por erikskate1, 21 Febrero 2015, 08:34 AM

0 Miembros y 1 Visitante están viendo este tema.

erikskate1

Hola amigos me presento soy nuevo en el foro estudio bachillerato y me empeso a gustar esto no soy muy bueno ya que no entiendo muy muy bien :s y estoy estudiando con un libro Piensa en c Mi duda viene siendo la siguiente empese a hacer los problemas todo bien hasta que llegue con esta serie :S Un programa antes me hice la serie de [(1/1)+(1/2)+(1/3) +...+1/n] y esa todo bien pero con esta me atore ya que no entiendo muy muy bien a un los ciclos anidados queria si ver si me pueden orientar como le hago Mi unico codigo que tengo es este


#include <stdio.h>
int main()
{
float n=0,mul=0,div=0,resultado=0;
printf("Ingrese el numero que quieres calcular de la serie: ");
scanf("%f",&n);
if (n == 0){
printf("Error no existe la divicion entre 0");
}
else
{
for (int i=1;i<=n;i+=2)
{
printf("(1/%d) / \t",i);
//AQUI ES DONDE SOLO QUIERO QUE ME ORIENTEN PARA QUE ME MUESTRE
//printf("(1/%d /1/%d) * ",i);
//Y A SI ME //MUESTRE MI SERIE CON SUS PAREJAS =)
   
}

  }
printf("\nEl resultado de tu serie es: %d",resultado);
return 0;

}


Solo obtengo (1/1 ,1/3,1/5,1/7) No se como obtener  los numeros pares que son (1/2, 1/4,1/6,1/8) y a si hasta que termine y despues juntarlos  para que pueda imprimir la serie [(1/1)/(1/2)*(1/3)/(1/4)*...*/(1/n)] Me pueden orientar si ocupo un contador mas o otro ciclo se los agradeceria bastante Muchas gracias
PD: Solo ocupo que me ayuden a mostrarlos en ese orden :S y ya de ahi  yo me guio para calcular la serie.

engel lex

Código (cpp) [Seleccionar]
for (int i=1;i<=n;i+=2)

el for tiene 3 partes...
"int i = 1" es donde debe iniciar
"i<=n" es hasta donde debe llegar
"i+=2" como debe avanzar...

i+=2 es lo mismo que decir i = i+2, le estás diciendo que empieze en 1 y vaya de 2 en 2 (1,3,5,7) si quieres los pares debe empezar en un numero multiplo de 2 y si quieres todos debes cambiar i+=1 por i++
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

erikskate1

Cita de: engel lex en 21 Febrero 2015, 08:48 AM
Hola amigo gracias por contestar si eso si lo entiendo bien ejeje pero solo una pregunta mira si pongo que recorra todos solo me los agarrara corridos no ? Lo que la serie me pide es agarrar los primeros 2 y esos hacer sus respectivas operaciones y despues irme con la otra pareja y hacer sus operaciones y de ahi multiplicarlas pero no se como hacer eso
si solo uso 1 for solo me agarra asi [(1/1)+ (1/2)+(1/3)+(1/4)+---+(1/n)]
Esa serie me mostraria lo que yo intento saber es como agarro los primeros 2 a si [((1/1)/ (1/2))  *  ((1/3)/(1/4))*...*/(1/n)] No se si me explico :S

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

erikskate1

#4
Cita de: engel lex en 21 Febrero 2015, 09:05 AM
xDD es que no se como explicar jajaja toy muy menso xD pero mira amm como puedo hacer que me muestre
//printf("(1/%d) / (1/%d) * \t"  ,i);Es que si lo pongo a si con ese for no me muestra mi serie como quiero si no me muestra eso ejemplo le doy que quiere la serie del 3 y me muestra

(1/1)/ (1/-2) *  (1/2)/ (1/-2) * (1/3)/(1/-2)  cuando solo quiero que me muestre
(1/1)/(1/2)* (1/3) U.u
en caso de que sea 4
(1/1)/(1/2)* (1/3) (1/4)
y si es 5
(1/1)/(1/2)* (1/3) (1/4) *(1/5)
:D Estoy mal en el for o ocupo otra cosa :S ?

engel lex

por lo que te entiendo quieres que intercale los simbolos / y *


puedes hacer

Código (cpp) [Seleccionar]
printf("(1/%d)",i);//aqui imprime el numero
if(i%2==0){
   printf(" /\t");
}else{
   printf(" *\t");
}


el "%" es operador de "resto" (tambien conocido como mod)
en caso de dudas sobre eso http://es.wikipedia.org/wiki/Resto

lo imprtante en este caso es que eso hace que cada par imprima "/" y cada impar imprima "*"

y deja de escribir en citas! D:
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

erikskate1

jajajajaja perdona es que soy nuevo y no se que onda pero ya encontre para responder nomal xD