Napisać funkcję, która mając daną listę, (taką jak któraś z list z zadania 4 z listy 1) i wskaźnik do elementu na liście znajdzie poprzedni element.
Rozdzielić zadaną listę na dwie,
Napisać funkcję, która odwróci daną listę dwukierunkową (tzn. zmieni wskaźniki tak by elementy były w odwrotnej kolejności).
Napisać funkcję:
Napisać wersję funkcji `mape' (z programu przykładowego listy-pr.c ) która kończy iterację gdy funkcja `fun' zwraca 0. Wykorzystać ją do alternatywnego rozwiązania zadania 1.
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 o listach z listy 1 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 daną listę liczb całkowitych i kryterium obliczy sumę liczb spełniających kryterium. Kryterium jest zadane jako wskaźnik do funkcji która bierze jako argument wskaźnik do elementu listy i zwraca 1 jeśli element spełnia kryterium, zaś 0 w przeciwnym razie. Podać rozwiązanie bezpośrednie jak i bazujące na `map' lub `mape'.
Napisać funkcję, która mając dane dwie listy liczb całkowitych równej długości stworzy listę par liczb całkowitych.
Napisać funkcję, która mając daną listę liczb całkowitych 'l' i liczbę 'a' rozbije 'l' na odcinki zaczynające się od 'a'. Dokładniej, funkcja ma stworzyć listę list 'ml' taką że:
Napisać funkcję, która mając dany łańcuch znaków wyprodukuje listę wchodzących w niego słów. Dla celów tego zadania słowo to maksymalny ciąg znaków nie zawierający spacji.