ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
443
443
EMPFEHLEN
-
hi leute ich hab hier ne aufgabe die ich nicht wirklich lösen kann:
Für 0 gilt: länge(0) = 1189 mm
breite(0) = 841 mm
für alle n > 0 gilt: länge(n) = breite(n-1)
breite(n)= ½ * länge(n-1)
Schreiben Sie eine rekursive Methode, für die Länge eines beliebigen
Formates.
Hinweis:
Es gilt: länge(n) = breite(n-1) = ½ * länge(n-2).
da ich ja nur die länge berücksichtigen muss hab ich auch die breite in meiner methode gar nicht berücksichtigt. hier mal mein ergebnis:
public double flaenge(double n)
{
double res = 0;
if(n==0)
{
res = 12;
} else {
res = 1/2*flaenge(n-2);
}
return res;
}
bekomme aber immer ne exception. kann mir jemand helfen****?
-
Welche Fehlermeldung bekommst du denn?
-
ich bekomme immer nen stack overflow
-
Das Problem wird wohl das -2 sein. Sobald du eine ungerade Zahl einsetzt, erzeugst du eine Endlosrekursion, da deine Bedingung nur überprüft ob n = 0 ist, versuch es mal mit n <= 0.
Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
"Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
RegEx Tutorial
PHP Funktionsreferenz
-
ja das hab ich auch schonmal versucht , bekomme dann aber nur 0 raus.
-
Also wenn ich die Aufgabenstellung einfach naiv runter tippe, sieht das so aus:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public double laenge(int n) { if(n < 0) throw new IllegalArgumentException(); if(n == 0) return 1189d; else return breite(n - 1); } public double breite(int n) { if(n < 0) throw new IllegalArgumentException(); if(n == 0) return 841d; else return 0.5d * laenge(n - 1); }
Du hast unter anderem den Fehler gemacht, eine Fließkommazahl mit "==" zu vergleichen. Das haut aber selten hin, weil die Zahlen nicht exakt dargestellt werden könnten (siehe http://de.wikipedia.org/wiki/IEEE_754).
Aber das brauchst du gar nicht, weil der Parameter ja eine Ganzzahl sein soll.
-
Ich wusste mich stört was bei der Aufgabe

In der Aufgabe wird das Seitenverhältnis von Papier der A Reihe Beschrieben wobei die Seiten Verhältnisse sich so ändern das die 1/2 Länge die Breite der nächst kleineren Papier Größe ist.
Daher denke ich das dein Ansatz mit du brauchst die breite nicht nochmal überdacht werden sollte
wie CPoly es vormacht
Geändert von wakoz (29.01.11 um 14:33 Uhr) Grund: lösung von CPoly gepostet
Ähnliche Themen
-
Frage zu einer Funktion
Von dnevi im Forum C/C++Antworten: 1Letzter Beitrag: 09.04.10, 20:07 -
MS SQL Server - Definition einer rekursiven Beziehung (m:n)
Von Tarik_BS im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 27.12.07, 14:10 -
Verstehe Funktion zum rekursiven Auslesen von Verzeichnissen nicht ganz
Von Html im Forum PHPAntworten: 19Letzter Beitrag: 05.08.07, 17:35 -
Frage zu Return Werten einer Funktion
Von SantaCruze im Forum PHPAntworten: 4Letzter Beitrag: 08.03.07, 16:21 -
FRAGE: wegen einer zensur funktion.
Von Jimbo2001 im Forum PHPAntworten: 4Letzter Beitrag: 10.12.02, 20:32





Zitieren

Login





