銀行内に口座を持っている 2 つの年齢層の人々/顧客の合計残高を計算しようとしています。要件に該当する人のリストを表示するようにできます。
これらはコンストラクタです
type NI = Int
type Age = Int
type Balance = Int
type Person = (NI, Age, Balance)
type Bank = [Person]
これが銀行です
rbs :: Bank
rbs = [ (1, 73, 1000)
, (2, 18, -50)
, (3, 60, 190)
, (4, 26, 300)
, (5, 24, 456)
, (6, 32, 7500)
, (7, 41, -46)
, (8, 59, -850)
, (9, 44, 348)
, (10, 66, -1000)
, (11, 37, 20000)
, (12, 29, -245)
, (13, 55, 3090)
]
そして、これは銀行を再帰的にチェックする私のコードです
equityA' :: Bank -> (Int, Int) -> Bank
equityA' ((n,a,b):xs) (0,0) = error "No ages were selected"
equityA' [] (x,y) = []
equityA' ((n,a,b):xs) (f, s) = if (f <= a) && (s >= a) then (n,a,b) : equityA' xs (f, s)
else equityA' xs (f, s)
EquityA' rbs (40,50) を実行すると、出力は [(7,41,-46),(9,44,348)] になります。
私が苦労しているのは、それらの人々の合計残高を印刷することです。いくつかのコードがダウンしていますが、実際の計算部分で立ち往生しています。
合計を確認するためのコード。
equityAge :: Bank -> (Int, Int) -> Int
equityAge ((n,a,b):xs) (0,0) = error "No ages were selected"
equityAge [] (x,y) = 0
equityAge ((n,a,b):xs) (f, s) =
どんな助けにも感謝します。