Witam :)
Wraz z rozbudową programu przyszły nowe problemy i zagwozdki.
Mój aktualny problem polega na tym iż nie wiem czemu ale program źle liczy wartość Sumy... w zasadzie to w ogóle jej nie liczy. Suma powinna być równa 522.500. Nie mam zielonego pojęcia w czym może tkwić błąd. Próbowałem zamiast pętli "While" dać "for", "if" i nadal 0.
I tak na marginesie... nie wiem czemu, ale jak w pętli "for" w instrukcji kroku podawałem "x = x + 0.5" to program się zapętlał. Co jest tego powodem? :)
PrtScr Konsoli:
http://img138.imageshack.us/img138/3197/whr5.jpg
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
float x;
float Krok = 0.5;
int Koniec = 10;
float Suma;
float f(float x)
{
return x*x - 36;
}
int main()
{
cout << "Podaj Pozycje: ";
cin >> x;
for(x; x <= Koniec;/*x=x+0.5*/)
{
cout
<< setw(7) << x << " | "
<< setw(7) << f(x) << " | "
<< setw(7) << abs(f(x)) << " | "
<< setw(7) << ( abs( f(x) ) + abs( f(x + Krok) ) )/2 << endl;
x = x + Krok;
}
while(x < Koniec)
{
Suma = Suma + ( abs( f(x) ) + abs( f(x+Krok) ) )/2;
x = x + Krok;
}
cout << Suma; //suma wszystkich wartosci z trzeciej kolumny, i ta suma powinna byc rowna 522,500
}
Ignotis :)