ich habe folgendes Problem: Ich habe ein Programm, das die Wurzel aus einer beliebigen positiven Zahl x durch Annäherung berechnen soll.
double ZahlE = -1; //Variable für Startzahl
double Teiler = 2; //
const double Toleranz = 0.000000000000001; //interne Genauigkeit
double ToleranzB = -1; //berechnete Toleranz
double Ergebnis = -1; //
ZahlE = Convert.ToDouble(Eingabe_txt.Text);
if (ZahlE >= 0)
{
if (ZahlE == 0 || ZahlE == 1)
{
Ausgabek_txt.Text = Convert.ToString(ZahlE);
}
else
{
do
{
Ergebnis = ZahlE / Teiler;
ToleranzB = Ergebnis - Teiler;
if (ToleranzB < 0)
{
ToleranzB = ToleranzB * (-1);
}
Teiler = (Ergebnis + Teiler) / 2;
} while (ToleranzB > Toleranz);
Ausgabek_txt.Text = Convert.ToString(Ergebnis);
}
}
else
{
Ausgabek_txt.Text = "Ungültige Eingabe!";
}
}
irgendwie bekomm ich das nicht formatiert rein hier...?
Leider funktioniert das irgendwie z.B. nicht mit x = 1.1, 1.5, 6.25 etc.
Hab hier noch den Quellcode als Textdatei und ein kleines Bild, was evtl. weiterhilft.


Anzahl der Downloads: 397
Bin leider nicht so der Mathefreak...
Kann mir wer sagen woran das liegt bzw. liegen könnte?
Danke schonmal im voraus...
greetz
Nachtrag: Habe gerade festgestellt das ich beim konvertieren mittels
ZahlE = Convert.ToDouble(Eingabe_txt.Text);
ZahelE = 625.0 erhalte. Versteh ich ja nun gar nicht. Woher also kommt dieser Verlust?
Dieser Beitrag wurde von nobido bearbeitet: 14. November 2010 - 13:29