Wyliczenie sumy elementów o indeksach parzystych

Wyliczenie sumy elementów o indeksach parzystych
G0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 76
0

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

Kopiuj
sum1 [] = 0
sum1 [_] = 0
sum1 (_:_:x:xs) = x + sum1 xs
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
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))

Kopiuj
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:

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

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

SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.