rootuss

Newton- Raphson

Feb 2nd, 2017 (edited)
136
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<iomanip>
  4. #include<cmath>
  5. #include<conio.h>
  6. using namespace std;
  7.  
  8. double oblicz(double p, double epsilon, long int ilosc_iteracji)
  9. {
  10.      double a = p;
  11.      int i=0;
  12.  
  13.        while(abs(a-p/a)>=epsilon && i<ilosc_iteracji)
  14.            {
  15.                a=(a+p/a)/2;
  16.                i++;
  17.            }
  18.        return a;
  19. }
  20.  
  21. int main()
  22. {   char warunek;
  23.     do
  24.     {
  25.         double p;
  26.         cout<<"PROGRAM LICZACY PIERWIASTEK KWADRATOWY Z LICZBY NIEUJEMNEJ \nALGORYTMEM NEWTONA-RAPHSONA (metoda HERONA)\n"<<endl;
  27.         cout<<"Podaj liczbe nieujemna do wyliczenia pierwiasteka kwadratowego: ";
  28.         cin>>p;
  29.  
  30.         double epsilon;
  31.         cout<<"Podaj dokladnosc obliczen(epsilon): ";
  32.         cin>>epsilon;
  33.  
  34.         long int ilosc_iteracji;
  35.         cout<<"Podaj maksymalna ilosc teracji: ";
  36.         cin>>ilosc_iteracji;
  37.  
  38.         cout<<endl<<endl;
  39.         cout<<"Pierwiastek z "<<p<<" wynosi ";
  40.         cout<<fixed<<setprecision(6)<<oblicz(p, epsilon, ilosc_iteracji)<<endl<<endl;
  41.  
  42.         cout<<"Czy chcesz wyliczyc kolejny pierwiastek? t/n"<<endl;
  43.         warunek=getch();
  44.         system("cls");
  45.     }
  46.     while(warunek=='t');
  47.  
  48.     cout<<"KONIEC PROGRAMU"<<endl;
  49.     system("pause");
  50.     return 0;
  51. }
RAW Paste Data