Wyliczenie sumy elementów o indeksach parzystych

0

Witam mam problem, chce wyliczyć sumę elementów o indeksach parzystych, ale mam błąd i nie wiem jak sobie z nim poradzic:

sum1 [] = 0
sum1 [_] = 0
sum1 (_:_:x:xs) = x + sum1 xs
0

Indeksujemy od 0 czy od 1? Ale i tak w żadnym z tych przypadków pomijanie dwóch pierwszych elementów nie ma sensu ( (_:_:x:xs))

sum1 [] = 0
sum1 [_] = 0
sum1 (_:x:xs) = x + sum1 xs

W ten sposób sum1 [1,2,3,4,5,7] jest równe 13. Lub:

sum2 [] = 0
sum2 [x] = x
sum2 (x:_:xs) = x + sum2 xs

Wtedy sum2 [1,2,3,4,5,6,7] jest równe 16.

0

Mam jeszcze prosbe, jak wyswietlic liste o indeksach 3,6,9 itd ?

@grzesiekm0: dla wygody ogarnij ten sposób: https://stackoverflow.com/questions/27399696/filter-positions-in-a-list-haskell/35271791#35271791

1 użytkowników online, w tym zalogowanych: 0, gości: 1