Hola! tengo un problema con el codigo de un programa en C++ que dice asi:
/*Solicite al usuario un número entero y positivo n (valide). Utilizando una función
recursiva, calcule la suma S de los n primeros términos de la serie: S=1/i desde i=1 hasta i=n*/
y esto fue lo que hice, pero al momento de compilar y ejecutar, me sale "el programa dejo de funcionar" o sea, que hay una falla en algo logico del codigo.. pero no encuentro donde esta esa falla
#include <iostream>
#include<stdlib.h>
using namespace std;
float valid ();
float sum (float(n));
int main()
{
float n,b;
n=valid();
cout<<"n="<<n<<endl;
b=sum(n);
cout<<"La suma de los n primeros numeros de la serie es: "<<b<<endl;
system ("pause");
}
float sum(float(n))
{float a,s;
a=1;
if(n==1) return(1);
else
{s=a/n;
return (s+(sum(a/(n-1))));
}}
float valid ()
{float n;
do{cout<<"Introduzca un numero entero y positivo: ";
cin>>n;}
while (n!=int(n)||n<0);
return (float(n));
}
/*Solicite al usuario un número entero y positivo n (valide). Utilizando una función
recursiva, calcule la suma S de los n primeros términos de la serie: S=1/i desde i=1 hasta i=n*/
y esto fue lo que hice, pero al momento de compilar y ejecutar, me sale "el programa dejo de funcionar" o sea, que hay una falla en algo logico del codigo.. pero no encuentro donde esta esa falla
#include <iostream>
#include<stdlib.h>
using namespace std;
float valid ();
float sum (float(n));
int main()
{
float n,b;
n=valid();
cout<<"n="<<n<<endl;
b=sum(n);
cout<<"La suma de los n primeros numeros de la serie es: "<<b<<endl;
system ("pause");
}
float sum(float(n))
{float a,s;
a=1;
if(n==1) return(1);
else
{s=a/n;
return (s+(sum(a/(n-1))));
}}
float valid ()
{float n;
do{cout<<"Introduzca un numero entero y positivo: ";
cin>>n;}
while (n!=int(n)||n<0);
return (float(n));
}