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
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
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.
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