Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Metody Numeryczne zadanie nr 6
- Przygotował: Dawid Grzeszuk
- Kierunek: Informatyka 3 semestr
- Środowisko: Visual Studio 2015
- Język programowania: C++
- */
- #include <iostream>
- #include <cstdlib>
- #include <math.h>
- using namespace std;
- double eps = 1.e-6;
- class Funkcja
- {
- private:
- double x, x0, x1;
- int liczba_krokow;
- public:
- Funkcja(double zmienna_x0, double zmienna_x1)
- {
- this->x = 0;
- this->x0 = zmienna_x0;
- this->x1 = zmienna_x1;
- this->liczba_krokow = 0;
- }
- double liczenie_funkcji(double x)
- {
- return(x-2*exp(-x));
- }
- double liczenie_siecznej()
- {
- do
- {
- //wykonywanie funkcji
- x = x1 - liczenie_funkcji(x1)*(x1 - x0) / (liczenie_funkcji(x1) - liczenie_funkcji(x0));
- //zamiana wartosci
- x0 = x1;
- x1 = x;
- //zwiekszanie liczby krokow
- liczba_krokow++;
- } while (!(fabs(liczenie_funkcji(x)) < eps));
- return x;
- }
- int zwroc_liczbe_krokow()
- {
- return liczba_krokow;
- }
- };
- int main()
- {
- double x0 = 0;
- double x1 = 0;
- cout << ("prosze podaj x0: ");
- cin >> x0;
- cout << ("prosze podaj x1: ");
- cin >> x1;
- cout << ("podaj dokladnosc: ");
- cin >> eps;
- Funkcja *obiekt = new Funkcja(x0, x1);
- cout << endl << ("wynik to: ") << obiekt->liczenie_siecznej() << endl;
- cout << ("wynik wyliczono w ") << obiekt->zwroc_liczbe_krokow() << (" krokach") << endl;
- cout << ("wynik uzyskano z dokladnoscia: ") << eps << endl;
- delete obiekt;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement