Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

necesito ayuda en c++

city-skate

Bovino adolescente
Desde
8 Sep 2008
Mensajes
68
:eolo:ola amigos bakunos necesito ayuda con un programa en dev c++
lo que pasa es que no puedo hacer que un numero q irlo restando por 1 se multipleque por el anterior y asi sucesivamente por ejemplo tengo 4.5 decrementando por 1 seria algo asi: 4.5, 3.5, 2.5, 1.5, .5 y eso necesito mutiplicarlo sin considerar el 1er numero quedaria allgo asi 3.5*2.5*1.5*.5 =6.5625 hasta ahora tengo esto alguien me podria ayudar??

#include <iostream>
using namespace std;
float b,d,a=0.5,temp,temp2;
int main (void)
{
cout << "Por favor ingrese un numero par" <<endl<<endl;
cin >> d;
while(d!=a)
{
temp=d-1;
b=temp;
temp=temp*d;
temp2=temp2+temp;
//printf("\n%.4f\n",temp);
d=b;
cout << (b) <<endl;
}
printf("\n%.4f\n",temp2);
system("pause");
return 0;
}
 
mas bien seria mientras de que d > 0, porque que tal si el numero es entero, le vas restando de uno en uno, nunca sera igual a 0.5 y nunca se saldra del ciclo, mejor hazlo mientras sea mayor a 0. Por que vas sumando ? se supone que es multiplicar el resultado anterior por el numero que sigue. Ahi ya te di 2 pistas, si quieres corrige eso y ya vemos como te va quedando el codigo, sale ?
 
ola amigo gracias con la ayuda pero de hecho eso lo necesito con numero con decimal y no con enteros x eso le puse esa condicion!!!
 
ok amigo, lo que pasa que me confundi, con eso de que que en el programa dice que ingrese un numero par. Pero bueno, entonces la cosa es que estas sumando, osea, mulitiplicas 3.5*2.5 eso lo almacenas en temp2, despues se multiplica 2.5*1.5 y se lo sumas al otro , y asi sucesivamente. Y al final imprimes lo de temp2.. osea, deberias de imprimir el resltado de:
3.5*2.5*1.5*.5
y tu imprimes algo asi:
(4.5*3.5) + (3.5*2.5) + (2.5*1.5) + (1.5 *.5)

porque tu estas incluyen el primer numero, nunca le haces rest al pincipio
 
mira, yo haria algo asi:

Código:
    d--;
    temp = d;
    do
    {
        d--;
        temp=temp*d;
    }while(d != 0.5)
    printf("\n%.4f\n",temp);
    system("pause");
    return 0;

no se si jale porque no tengo el compilador, bueno si tengo el gcc, pero no lo he tratado de calar
 
ok amigo, lo que pasa que me confundi, con eso de que que en el programa dice que ingrese un numero par. Pero bueno, entonces la cosa es que estas sumando, osea, mulitiplicas 3.5*2.5 eso lo almacenas en temp2, despues se multiplica 2.5*1.5 y se lo sumas al otro , y asi sucesivamente. Y al final imprimes lo de temp2.. osea, deberias de imprimir el resltado de:
3.5*2.5*1.5*.5
y tu imprimes algo asi:
(4.5*3.5) + (3.5*2.5) + (2.5*1.5) + (1.5 *.5)

porque tu estas incluyen el primer numero, nunca le haces rest al pincipio

mira, yo haria algo asi:

Código:
    d--;
    temp = d;
    do
    {
        d--;
        temp=temp*d;
    }while(d != 0.5)
    printf("\n%.4f\n",temp);
    system("pause");
    return 0;

no se si jale porque no tengo el compilador, bueno si tengo el gcc, pero no lo he tratado de calar


GRACIAS AMIGO SI FUNCIONO
 
Volver
Arriba