2017-11-26 8 views
0

を適用Iは、リストを作成し、平均値を計算するために2ことによってそれを分割するマップ機能を使用することになったが、私は、分割部分にこだわっています。Haskellはマップとリストを作成し、分裂

mittelWert (n,m) = map (+n) [m]/2 

と、この:

mittelWert (n,m) = map (+n) [m] `div` 2 

TY

mittelWert (n,m) = map (+n) [m] 

これは私に私のリストが表示されますが、私は今2で割りカント...

私はこれを試してみました。

エラー:* Non type-variable argument in the constraint: Fractional [b] (Use FlexibleContexts to permit this) * When checking the inferred type

+2

リストを2つに分けるとどうでしょうか?さらに、この質問はあまり意味がありません。平均を計算するために要素を2つに分割するのはなぜですか?ここでは、要素を1つ使用してリストを作成します。これはアイテム自体を使用する方が簡単なので奇妙です。 –

+0

これは、要素だけでリストを分割することはできません。 2番目のマップ関数を2番目のマップ関数で割り算することもできます。編集:mittelWert(n、m)= map(/ 2)(map(+ n)[m]) ty:D – Ridi

+1

最初の地図を変更することもできます。しかし、今では、リストを使って始めるのは意味をなさない。 'n'と' m'の2つの数字の平均を計算したい場合は、 '(m + n)/ 2'(または整数の場合はdiv(m + n)2)と定義できます。 –

答えて

0
mittelWert (n,m) = map (/2) (map (+n) [m]) 

2のマップ機能は、仕事をしてくれました。 合計はリストになってから、2番目のマップ関数でリストを2で割ります。

+0

あなたは '\ n m - > sumをやろうとします。 map(/ 2)$ n:[m] ' – Redu

+0

何してるの?これは '(m + n)\' div \ '2'とどう違うのですか? – HuStmpHrrr

関連する問題