Alles passt außer die funktion adaptanpassung ich versthe nicht wo der Fehler ist . Die funktion ist da um das integral geanuer zu machen bis die veränderung des Ergebnises nicht mehr um 0.01 abweicht. In Python hab ich es eignetlich genau so gemacht und es hat geklappt. Ich weiß das Python und C ganz andere Prog.Sprachen sind ,dennoch verstehe ich nicht warum es nicht will
#include <stdio.h>
#include <math.h>
// Aufgabe 1
float func(float x){
return x*x*x-2*x*x+x-3;
}
float integrate(float start, float end, float step){
float flaeche=0;
while (start<end){
flaeche+=step* func(start);
start=start+step;
}
return fabs(flaeche);
}
void adaptanspassung(float toleranz){
toleranz=0.01;
float ergebnis= integrate(float start,float end,float step);
float neues_ergnis= integrate(float start,float end,float step/2);
while ((ergebnis - neues_ergnis) > toleranz){
ergebnis=neues_ergnis;
neues_ergnis=integrate(float start,float end,float step/2);
}
int main() {
printf("%f\n", func(0)) ;
adaptanspassung(0.01);
printf("%f\n", integrate(0,2,0.02));
return 0;
}