Dodaj do ulubionych

Problem z napisaniem programu w C++

19.11.08, 17:58
Witam. Jestem początkującym studentem programowania. Mam do napisania taki program, który obliczy liczbę e. Wzór na liczbę e - "e = 2 + 1/2! + 1/3! + ...1/n!". Również należy pamiętać że że n! = (n-1)! n

"Program powinien poprosić o podanie wartości n, a następnie wyświetlić wartość liczby e dla kolejnych przybliżeń od 1 do n."

Nie siedziałem bezczynnie cały czas próbowałem go zrobić, korzystająć z różnych ksiązek itp. A oto efekt dotychczasowej mojej pracy. Udalo mi sie zrobić że program wypisuje liczby od 1 do <= n. Chodzi o to żeby ktoś mi pomógł zmodyfikować powyższy program tak, żeby obliczał sumę kolejnych silni, bo ja nie mam pojecia jak to zrobić - 1! + 2! + 3! + 4! + ... + n!. Potem według mnie trzeba zastosować dzielenie.

. Oto efekt mojej pracy

[code]


#include <iostream>
using namespace std;

int main()
{

cout << "Program wypisuje kolejne sumy liczb od 1 do n.\n";
cout << "Podaj n ";
int n;
cin >> n;

double suma = 0;
for ( int i = 1; i <= n; ++i )
{
suma += i;
cout << "suma dla " << i << " liczb wynosi " << suma << "\n";
}

return 0;

[/code]




Obserwuj wątek
    • tomaszgadek83 Re: Problem z napisaniem programu w C++ 27.02.09, 13:54
      masz tu gotowca

      kod////
      #include <iostream>
      #include<conio.h>
      using namespace std;
      int silnia(int n);
      int main() {
      int n;
      cout<<"wprowadz liczbe n";
      cin>>n;
      silnia(n);

      system("PAUSE");
      return 0;

      }

      int silnia(int n)
      {

      int i;
      double k[100];
      double suma;
      i=1;
      double silnia;
      silnia=1;

      for(i=2;i<=n;i++)
      {


      silnia=(silnia)*i;


      k[i]=1/(silnia);
      suma=suma+k[i];


      }
      cout<<suma+2;
      system("PAUSE");
      return silnia ;
      }
    • 13ty_smok Re: Problem z napisaniem programu w C++ 27.02.09, 20:39
      #include <iostream>
      #include <iomanip>
      #include <climits>
      using namespace std;

      int main() // dosyć szybko policzy nawet dla 10 mln kroków, ale po 17 juz jest
      precyzja do 17 znaku
      {
      for(;;)
      {
      cout<<"Podaj liczbe iteracji do obliczenia liczby e (0-koniec): ";
      unsigned long N;
      cin>>N;
      if(cin)
      {
      if(!N) break;
      long double E=1,P=1;
      for(unsigned long i=1;i<=N;++i) E+=1/(P*=i);
      cout.setf(ios::fixed);
      cout<<"Po "<<N<<" krokach liczba e wynosi
      "<<setprecision(16)<<E<<endl<<endl;
      }
      else
      {
      cin.clear();
      cin.ignore(INT_MAX,'\n');
      cout<<"Sio stad blondynko. Prosilem o liczbe nie o litery."<<endl<<endl;
      }
      }
      return 0;
      }

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka