10. august 2002 - 20:35Der er
2 kommentarer og 1 løsning
Løsning af andengradsligning.
Hej NG. Er ved at lave et program til at løse andengradsligninger. Skal måske lige sige at det laves med objekter da jeg er ved at lære om det.
Den første del som finder determinanten har jeg lavet.
class anden { public: float CalcD(float a, float b, float c) {return (b*b) - (4*a*c);}; };
Problemet kommer så når jeg skal finde skæringspunkterne (x), her er der jo tre muligheder: d < 0, d == 0 og d >0. Der ud over kommer, at der er to x værdier ved d > 0, i den situation jeg fik et lille hint om at bruge pointers. Håber at der er nogen der kan hjælpe mig.
public: float* Solve() { if (d>=0) //Her undersøges det om ligningen kan løses { solutions[0] = (-b-sqrt(d))/(2*a); //Den ene løsning kan altid bruges numberOfSolutions=1; if (d>0) // Den anden udregnes, hvis d>0 { solutions[1] = (-b+sqrt(d))/(2*a); numberOfSolutions=2; } else //Ellers er der tale om en dobbeltrod { solutions[1]=solutions[0]; } } return solutions; } private: float a; float b; float c; float d; int numberOfSolutions; //Denne variabel bruges til at angive hvor meget af arrayet solutions, der indeholder løsninger float solutions[2];
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.