Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- struct Wielomian
- {
- unsigned stopien_wielomianu;
- vector<int> wspolczynniki;
- };
- Wielomian wczytaj_wielomian()
- {
- cout << "Podaj stopien wielomianu: ";
- Wielomian nowy;
- int temp;
- cin >> nowy.stopien_wielomianu;
- cout << "Podaj kolejne calkowite wspolczynniki wielomianu liczac od wyrazu wolnego: ";
- for(unsigned i = 0; i <= nowy.stopien_wielomianu; ++i)
- {
- cin >> temp;
- nowy.wspolczynniki.push_back(temp);
- }
- return nowy;
- }
- void wypisz_wielomian(Wielomian wielomian)
- {
- for(int stopien = wielomian.stopien_wielomianu; stopien >= 0; --stopien)
- {
- if(stopien == 0)
- {
- if(wielomian.wspolczynniki[0] == 0)
- cout << endl;
- else
- cout << wielomian.wspolczynniki[0] << endl;
- break;
- }
- if(wielomian.wspolczynniki[stopien] == 0)
- continue;
- cout << wielomian.wspolczynniki[stopien] << "x^" << stopien << ' ';
- }
- }
- Wielomian wyznacz_pochodna(Wielomian wielomian)
- {
- Wielomian pochodna;
- if(wielomian.stopien_wielomianu == 0)
- {
- pochodna.stopien_wielomianu = 0;
- return pochodna;
- }
- pochodna.stopien_wielomianu = wielomian.stopien_wielomianu - 1;
- for(unsigned i = 1; i <= wielomian.stopien_wielomianu; ++i)
- pochodna.wspolczynniki.push_back(wielomian.wspolczynniki[i] * i);
- return pochodna;
- }
- Wielomian wyznacz_pochodna_stopnia(Wielomian wielomian, unsigned stopien)
- {
- if(stopien == 0)
- return wielomian;
- Wielomian wynik = wyznacz_pochodna(wielomian);
- for(unsigned i = 1; i < stopien; ++i)
- wynik = wyznacz_pochodna(wynik);
- return wynik;
- }
- int main()
- {
- Wielomian A = wczytaj_wielomian();
- wypisz_wielomian(A);
- Wielomian pochodna = wyznacz_pochodna(A);
- wypisz_wielomian(pochodna);
- Wielomian pochodna2 = wyznacz_pochodna_stopnia(A, 2);
- wypisz_wielomian(pochodna2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement