All pastes #550868 Raw Edit

y_w

public text v1 · immutable
·published 2007-06-08 15:34 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.01;
float baseY = 5;
int dokl = 100;

void WypiszTekst();
float Wynik(float x);

main()
{
      //WypiszTekst();
      float dx = (x2-x1)/dokl;
      float tmpX1 = x1;
      float tmpX2 = x2;
      float tmpW1 = Wynik(x1);
      float tmpW2 = 0;
      float wynik;
      while (dx > epsi)
      {  
            for (int z = 0; z < dokl; z++)
            {
                //wartosci tymczasowe f(x1) i f(x2)
                tmpX2 = tmpX1 + dx;
                tmpW2 = Wynik(tmpX2);
                if (((tmpW1 < baseY) && (tmpW2 >= baseY)) || ((tmpW1 > baseY) && (tmpW2 <= baseY)))
                {
                    dx = (tmpX2 - tmpX1) / dokl;
                    wynik = tmpX1;
                    cout<<"WynikTMP:"<<wynik<<endl;
                    z = dokl;
                }
                else
                {
                    tmpX1 = tmpX2;
                    tmpW1 = tmpW2;
                }   
            }      
      }
      
      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;
}