All pastes #552661 Raw Edit

wielomian_odwrotny

public cpp v1 · immutable
·published 2007-06-09 12:08 UTC
rendered paste body
#include <iostream>#include <conio.h>using namespace std;float a = 0, b = 0, c = 0, d = 1, e = 0, x1 = 0, x2 = 100;float epsi = 0.1;float baseY = 5;int dokl = 100;void WypiszTekst();float Wynik(float x);main(){       //odleglosc miedzy jednym a drugim koncem      float dx;      //wartosci przedzialu x1, x2      float tmpX1 = x1;      float tmpX2 = x2;      //wartosc dla x1      float tmpW1 = Wynik(x1);      //wartosc dla x2      float tmpW2 = 0;      //wynik      float wynik;      do      {            //deklaracja             dx = (tmpX2-tmpX1)/dokl;            for (int i = 0; i < dokl; i++)            {                tmpX2 = tmpX1 + dx;                tmpW2 = Wynik(tmpX2);                if (((tmpW1 <= baseY) && (tmpW2 >= baseY)) ||                    ((tmpW1 >= baseY) && (tmpW2 <= baseY)))                {                    //jesli baseY znajduje sie w tym przedziale                    //dx = (tmpX2 - tmpX1) / dokl; <- blad! sprawdzony warunek w while zakonczy petle !                    wynik = tmpX1;                    i = dokl;                }                else                {                    tmpX1 = tmpX2;                    tmpW1 = tmpW2;                }            }      }      while (dx >= epsi);      cout<<"Wynik to: "<< wynik;      getch();}void WypiszTekst(){    cout<<"Program liczy pole powierzchni pod wykresem wielomianu 4tego stopnia\n.Podaj wspolczynniki oraz przedzial"<<endl;    cout<<"Wspolczynnik a:";    cin>>a;    cout<<"Wspolczynnik b:";    cin>>b;    cout<<"Wspolczynnik c:";    cin>>c;    cout<<"Wspolczynnik d:";    cin>>d;    cout<<"Wyraz wolny e:";    cin>>e;    cout<<"Wprowadz poczatek przedzialu, x1:";    cin>>x1;    cout<<"Wprowadz koniec przedzialu, x2:";    cin>>x2;}float Wynik(float x){   return a*(x*x*x*x)+b*(x*x*x)+c*(x*x)+d*x+e;}