Napisać wersję funkcji `mape' która kończy iterację gdy funkcja `fun' zwraca 0. Wykożystać ją do rozwiązania zadania 6 z listy 3.
Zakładamy że elementy meta-listy (listy list) mają następującą deklarację:
struct ls { struct ls *nastepny; int wartosc;} struct mls { struct mls *nastepny; struct ls *lwartosc;};Obliczyć (stworzyć) listę sum pól wartość poszczególnych list na meta-liście. Podać rozwiązanie bezpośrednie jak i bazujące na `map' lub `mape'.
Spróbować rozwiązać zadania z listy 3 używając do przechodzenia listy funkcji `map' (lub `mape'). W których zadanich są z tym trudności .
Napisać funkcję, która mając dane dwie listy liczb całkowitych równej długości stworzy listę par liczb całkowitych.
Wielomian (jednej zmiennej) można traktować jako listę par '(współczynnik, wykładnik)' (taka para jednoznacznie wyznacza jednomian: zmienną, np. `x' podnosimy do potęgi podanej przez wykładnik i mnożymy przez współczynnik). Przy tej reprezentacji nie trzeba pamiętać wyrazów z zerowymi współczynnikami (np. `x' do potęgi 1000 reprezentujemu listą jednoelementową). Zakładając że współczynniki i wykładniki reprezentujemy liczbami całkowitymi, jak można wykonać dodawanie i mnożenie takich wielomianów. Oszacować ilość operacji potrzebnych do pomnożenia dwu wielomianów jeśli każdy z nich ma co najwyżej `n' niezerowych wyrazów.