W
@nexperty: Danke, das macht es auf jedenfall übersichtlicher.
@camper: Ich weiß nicht ob du ansatzweise gelesen hast, was ich geschrieben habe. Das sollte man aber tun, um zu wissen warum hier dieses Thema offen ist.
1.Beitrag
Ich bin eigentlich fertig mit dem Programm, es muss nur noch optimiert werden.
2.Beitrag
@Helium: Ich hab ja geschrieben, dass ich es noch optimieren muss, also zusammenfassen und andere Dinge. Zudem muss ich sagen, dass ich erst ein 3/4 Jahr C++ mache und das nicht alles so top aussieht liegt daran, weil ich es nicht besser weiß.
Ich will dich eigentlich nicht gleich so anfahren, aber so etwas zu schreiben, obwohl ich es schon 2 mal geschrieben habe, das ich es noch machen muss, finde ich, um es einfach ausdrücken, nur dumm.
x=-500;
do
{ y=a*pow(x,3)+b*pow(x,2)+c*x+d;
//y=-pow(x,3)+x-3;
if(y<=0)
{ f[0]=x;
f[1]=x-1;
}
x=x+1;
}while(y>=0);
e=1000;
do
{ xh=(f[0]+f[1])/2;
y=a*pow(xh,3)+b*pow(xh,2)+c*xh+d;;
//y=-pow(xh,3)+xh-3;
if(y<=0)
{ f[0]=xh;
}
else
{ f[1]=xh;
}
e=e-1;
}while(e!=0);
g[0]=xh;
Das war die ursprüngliche Form des Programms. Ich hatte aber vergessen, dass eine kubische Funktion auch mehr als nur eine Nullstelle hat. Die anderen Teile sind nur kopiert wurden und jeweils so umgeformt wurden das es klappt. Eigentlich ist das Programm eine Schulaufgabe und wir haben 8 Stunden dafür Zeit, aber ich hatte einfach mal Lust, jetzt in den Ferien, dass mal schnell zu schreiben, hat ja nur ein Tag gedauert. So camper, dann sag mir jetzt bitte wie ich das Programm noch besser machen kann, wäre schön wenn du gleich ein Lösungsvorschlag bringst.
Edit: Außerdem geht das Programm von vielen Faktoren aus, da merkt man meine Unwissenheit im Programmieren noch, z.B.: es darf keine Nullstelle unter -500 geben und ich glaub das Programm benötigt durch die vielen Überprüfungen eine menge Rechenleistung oder kann man es nicht weniger rechenlastig schreiben?