Haskell: Denkfehler?

the.expert

Lieutenant
Registriert
Jan. 2008
Beiträge
892
Hey,
ich muss eine Funktion schreiben, welche die Fläche von einem Quader ausgibt.

Also:

2*(a*b+a*c+b*c)

Die Sache ist die, dass die Funktion für das Rechteck dabei verwendet wird:

rechteck :: (Integer, Integer) -> Integer
rechteck(x,y) = x*y

Jetzt habe ich das gebastelt:

quader :: (Integer, Integer, Integer) -> Integer
quader(x,y,z) 2 * (rechteck + x * z + y * z)

was leider total falsch ist... Bitte klärt mich auf!
 
Du musst der Funktion rechteck schon zwei Parameter übergeben, denn so sieht es die Signatur ja schließlich vor. Wahrscheinlich sollst du die drei unterschiedlichen Seitenflächen jeweils durch einen Aufruf von rechteck berechnen.
 
Sollte es nicht einfach simpel:


quader :: (Integer, Integer, Integer) -> Integer
quader(x,y,z) = 2 * (rechteck(x,y) + rechteck(x, z) + rechteck(y, z))


sein?

Hab zwar keinen Plan von Haskell ... so schauts aber normalerweise aus xD
 
Oh man, ja Tiger, so geht es... oh man ist wohl zu spät schon :D vielen vielen Dank!
 
Zurück
Oben