Witam,
Mam kłopot z programem. Wszystko działa poza jedną rzeczą -> gdy w pętli dziele 1/i(gdzie i jest typu int), wynik dzielenia jest cały czas taki jakbym zastosował floor z biblioteki cmath. Wujek Google pomógł mi znaleźć tylko jeden podobny przypadek, ale bez wyjaśnienia jak to rozwiązać.
Pracuje pod ubuntu, i kompiluje w g++. Mógłby ktoś to dla mnie sprawdzić?
Z góry dzięki
/*3. Obliczyć sumę n pierwszych wyrazów ciągu harmonicznego tj.
1 + 1⁄2 + 1/3 + 1⁄4 ... + 1/n
przy czym wartość n zostanie podana z klawiatury.*/
#include<iostream>
#include<cmath>
using namespace std;
double zlicz(int n);
int main()
{
unsigned int n;
cout << "Program oblicza sumę n pierwszych wyrazów ciągu harmonicznego, podaj parametr n" <<endl;
cin >> n;
cout << "Suma " <<n<<" elementów to " <<zlicz(n)<< endl;
}
double zlicz(int n)
{
double suma=0;
for(int i=1; i<=n; i++)
{
suma=suma + (1/i);
}
return suma;
}