Hogyan kell ennek a programnak a fő ciklusát megcsinálni?
e=1 + 1/(1!) + 1/(2!) + 1/(3!) + 1/(i!)
de faktoriálist nem igazán ismerem, és nem tudom berakni, hogy az eredmény is jó legyen.
2.7182818284590452353602874713527-hez közelítek a sorozattal.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a,n,i,fakt=1;
float e=0;
cout << "Adja meg hany elembol alljon a sorozat" << endl;
cin >> a;
for (i=0; i<=a; ++i) {
for(int n = 1; n <=a ; ++n)
{
fakt *= n;
}
e+=1/(fakt);
}
cout << e << endl;
return 0;
system("pause");
}
ezt csináltam, de gondolom, ez oltári hülyeség.
Szóval tanácsokat kérek
1/fakt mindig 0 lesz, mert egész osztásként számolsz (kivéve fakt=1-nél)
helyette mondjuk 1.0/faktot írj.
A belső for ciklus felesleges.
A return után a system("pause")-nek nincs sok értelme, így felcseréltem. (De én nem ezzel a paranccsal várakoznék.)
Itt van a működő kód:
int main()
{
int a,i,fakt=1;
float e=1;
cout << "Adja meg hany elembol alljon a sorozat" << endl;
cin >> a;
for (i=1; i<=a; ++i) {
fakt *= i;
e+=1.0/(fakt);
}
cout << e << endl;
system("pause");
return 0;
}
33-ig működik, utána tólcsordul, de 10 felett már amúgyis ugyanazt adja.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!