Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iterator>
- #include <math.h>
- #include <iomanip>
- double x[] = { 1,3,5,7 };
- double y[] = { 1,8,9,17 };
- double pochodnaY[2] = { 1,1 };
- const int wielkosc = std::size(x);
- std::array<std::array<double, wielkosc+3>, wielkosc +2> bufor;
- std::array<double, wielkosc +2> wynik;
- //double bufor[wielkosc + 2][std::size(x) + 3];
- //double wynik[std::size(x) + 2];
- /*
- double x[] = { -4,-2,0,2,4 };
- double y[] = { -116,-20,4,4,28 };
- double pochodnaY[2] = { 74,26 };
- */
- //tworzenie jednego sx' i wrzucenie w odpowiednei miejsce buforu
- void sxprym(double xo, int j)
- {
- int i;
- double wspolczynnik;
- bufor[j][0] = 0;
- bufor[j][1] = 1;
- for (i = 2; i <= 3; i++)
- bufor[j][i] =i* pow(xo, i-1);
- for (int k = 0; i < wielkosc + 2; i++, k++)
- {
- if (k < j)
- {
- bufor[j][i] = 3*pow(xo - x[k + 1], 2);
- }
- else
- bufor[j][i] = 0;
- }
- bufor[j][i] = y[j];
- }
- //tworzenei jednego sx i wrzucenie w odpowiednie miejsce buforu
- void sx(double xo, int j)
- {
- int i;
- double wspolczynnik;
- bufor[j][0] = 1;
- for (i = 1; i <= 3; i++)
- bufor[j][i] = pow(xo, i);
- for (int k = 0; i < wielkosc + 2; i++, k++)
- {
- if (k < j )
- {
- bufor[j][i] = pow(xo - x[k+1], 3);
- }
- else
- bufor[j][i] = 0;
- }
- bufor[j][i] = y[j];
- }//uzupelnai bufor sx (zaleznie od ilosci elementow) plus sx'z pogodnych
- void uzupelnijWynik()
- {
- for (int i = 0; i < wielkosc; i++)
- sx(x[i], i);
- sxprym(x[0], wielkosc);
- sxprym(x[wielkosc-1], wielkosc+1);
- //zastosowanei gaussa i przekopiowanei wyniku do drugiej tabeli
- }
- double wx(double n)
- {
- uzupelnijWynik();
- //check na ekran
- for (int j = 0; j < wielkosc+2; j++) {
- for (int i = 0; i < wielkosc + 3; i++)
- std::cout << bufor[j][i]<<" ";
- std::cout << std::endl;
- }
- std::cout << std::endl;
- std::cout << std::endl;
- for(int i =0;i<wielkosc+2;i++)
- std::cout << wynik[i] << " ";
- return 2;
- }
- int main()
- {
- std::cout << wx(3);
- std::cout << " " << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement