Entwickler-Ecke
Basistechnologien - Warum funktioniert diese Umsetzung einer Formel nicht?
Dominikdak - Di 31.05.11 16:38
Titel: Warum funktioniert diese Umsetzung einer Formel nicht?
Hi Leute!
Laut
de.wikipedia.org/wiki/Polygon#Regelm.C3.A4.C3.9Fige_Polygone rechnet man den Flächeninhalt eines regelmäßigen n-Ecks
n * Seite² / 4 * tan(180°/n).
Das wollte ich in C# umsetzen, hat ja auch alles geklappt, nur die Ergebnisse stimmen nicht. ZB der Inhalt eines Sechsecks mit Seitenlänge 5 ist nicht -7,49!
Ich zeig euch mal den Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| try { double n = Convert.ToDouble(textBox3.Text); double seitenlaenge = Convert.ToDouble(textBox4.Text);
double bruch1 = n * Math.Pow(2, seitenlaenge);
double tangens = 180 / n; double bruch2 = 4 * Math.Tan(tangens);
double flaeche = bruch1 / bruch2; string ergebnis = Convert.ToString(flaeche); label13.Text += ergebnis; } .... |
Wer findet den Fehler?
Danke im Vorraus!
Dominikdak
Yogu - Di 31.05.11 17:25
Dominikdak hat folgendes geschrieben : |
C#-Quelltext 6:
| /* ... */ double bruch1 = n * Math.Pow(2, seitenlaenge); | |
Das heißt
2^seitenlaenge, und nicht
seitenlaenge^2. Entweder du vertauschst die Parameter, oder du multiplizierst
seitenlaenge einfach mit sich selbst.
Dominikdak - Di 31.05.11 17:36
Bringt nichts.
Dominikdak - Di 31.05.11 18:29
HERZLICHEN DANK!
Klappt jetzt! Hier die korrekte Form:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| double n = Convert.ToDouble(textBox3.Text); double seitenlaenge = Convert.ToDouble(textBox4.Text);
double bruch1 = n * seitenlaenge * seitenlaenge;
double tangens = 180 / n; double bogenmass = tangens * (Math.PI / 180); double bruch2 = 4 * Math.Tan(bogenmass);
double flaeche = bruch1 / bruch2;
string ergebnis = Convert.ToString(flaeche); label13.Text += ergebnis; |
Ciao!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!