Kezdőoldal » Számítástechnika » Programozás » Hogyan kell ennek a programnak...

Hogyan kell ennek a programnak a fő ciklusát megcsinálni?

Figyelt kérdés

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.



2013. jún. 1. 12:56
 1/3 A kérdező kommentje:

#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

2013. jún. 1. 12:58
 2/3 anonim ***** válasza:
100%

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.

2013. jún. 1. 13:50
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm szépen!
2013. jún. 1. 17:11

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!