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;
}