Hola! Pues tengo una pequeña duda con mi código, porque no me da el resultado deseado
esta casi perfecto, solo que en ves de 5.33333 me da 3.33333. El problema está así:
Lo hice conforme está esa ecuación a papel y realizándolo por pasos, el resultado da 5.33333. Les presento mi código:
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <math.h>
using namespace std;
//FUNCION SUMATORIA
float sigma(float a, float b){
float division;
float suma = 0;
float operacion = 1;
float i = 1;
//ELEVAMOS, SACAMOS FACTORIAL, DIVIDIMOS Y SUMAMOS PARA OBTENER EL RESULTADO
while(i <= b){
a = pow (a,i);
for (int z = 1; i <= b; z++){
operacion = operacion*z;
division = a / operacion;
suma = division+suma;
i++;
}
}
return suma;
}
int x; //VARIABLES GLOBALES DE TIPO ENTERO
int n;
int main(){
gotoxy(6,4); cprintf("Yo puedo resolver sigma");
textcolor(15);
gotoxy(24,6); cprintf("Ingresa X: ");
cin >> x;
textcolor(15);
gotoxy(24,8); cprintf("Ingresa N: ");
cin >> n;
textcolor(15);
gotoxy(24,10); cprintf("El resultado es: "); cout << sigma(x, n);
getch();
return 0;
}
En cada vuelta de la línea 16 a la línea 21 va aumentando todas las operaciones, x elevado a la i, factorial de i!, hecho esto divide y por último suma, tal y como lo describe el problema, pero el resultado debe ser 5.33333 y mi programa da 3.33333
si pueden ver mi código y ver cual es el problema, les agradecería mucho si me brindaran la solución porfavor! Muchísimas gracias por leer!