Programmer en funktion, sort_books_by_title, som kan kaldes på variablen shelf fra programmet på den tilhørende slide. Tag udgangspunkt i dette program. Overfør også indekset af den sidste bog som en parameter til sort_books_by_title, således at sorteringsfunktionen ved hvor mange bøger, der skal sorteres:
void sort_books_by_title(book shelf[], int last){ qsort(shelf, last+1, ..., ...); }
Som antydet af funktionsnavnet, skal funktionen ordne bøgerne således at titlerne kommer i alfabetisk orden. Efter sorteringen er den første bog således 'C by Dissection', og den sidste bog er 'The C Programming Language'. Sorteringen skal foregå ved at bytte om på bøgerne i arrayet (ikke ved at danne en ny, sorteret kopi af arrayet).
Ved løsningen af denne opgave skal du anvende funktionen qsort fra stdlib.h, som tidligere har været beskrevet i dette undervisningsmateriale.
Programmer dernæst en funktion sort_books_by_kind_and_year. Denne funktion skal primært sortere bøgerne således at alle skønliterære bøger kommer før lærebøgerne (university text books). Inden for begge disse grupper skal funktionen sekundært sortere bøgerne efter udgivelsesår. Relativt til eksemplet på den tilknytede side i undervisningsmaterialet skal det give følgende ordning på bøgerne:
Title: Pelle Erobreren Year: 1910 University text book: no Title: Ditte Menneskebarn Year: 1917 University text book: no Title: The C Programming Language Year: 1988 University text book: yes Title: C by Disssection Year: 2001 University text book: yes Title: Problem Solving and Program Design in C Year: 2010 University text book: yes
Afprøv begge sorterings-funktionerne på de fem bøger i variablen shelf.
Løsningen til denne opgave er pt. ikke frigivet