Haskell: Denkfehler?

the.expert

Lieutenant
Dabei seit
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!
 

ph4nt0m

Lieutenant
Dabei seit
Apr. 2004
Beiträge
982
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.
 

Tiger_UP23

Cadet 4th Year
Dabei seit
Nov. 2005
Beiträge
100
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
 

the.expert

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2008
Beiträge
892
Oh man, ja Tiger, so geht es... oh man ist wohl zu spät schon :D vielen vielen Dank!
 
Top