C Oefeningen - Ontwerpen1

C Oefeningen
L. Rutten
Dit zijn een aantal extra oefeningen over pointers en arrays.
1. Maak een functie die het gemiddelde berekent van een array met getallen. Als parameter geef je
de array en het aantal getallen door.
double gemiddelde(double *p, int n);
2. Sorteer een array getallen met de bubble sort methode. Bij dit algoritme loop je door de lijst en
verwissel je twee naburige getallen als ze niet in de juiste volgorde staan. Dit blijf je herhalen to er
geen wisselingen meer zijn Plaats de sorteeralgoritme in een eigen functie.
void sorteer(int *p, int n);
3. Maak een functie die een getal zoekt in een array van getallen. Als het getal gevonden wordt, wordt
de index van het getal teruggegeven (0 .. n-1); als het getal niet gevonden wordt, wordt -1
teruggegeven.
int zoek(int *p, int n, int getal);
4. Maak een functie die een string (array van char) kopieert. Denk eraan dat je het einde van de
string kan herkennen aan de binaire nul.
void kopieer(char *naar, char *van);
5. Maak een functie die 2 strings vergelijkt. De strings hoeven niet even lang te zijn. Bij gelijkheid
geef je 0 terug, bij ongelijkheid een andere waarde.
int vergelijk(char *p, char *q);
6. Maak een functie die een getal zoekt in een array van getallen. Deze array is gesorteerd in stijgende
volgorde. Als het getal gevonden wordt, wordt de index van het getal teruggegeven (0 .. n-1);
als het getal niet gevonden wordt, wordt -1 teruggegeven. Maak de oplossing recursief volgens de
binaire zoekmethode: als het getal in de eerste helft zit, ga je verderµ met de eerste helft. Anders
zoek je verder in de tweede helft.
int zoekbinair(int *p, int n, int getal);
7. Maak een functie die de waarde uitrekent van een reeks getallen en bewerkingen. Een getal bestaat
maar uit één cijfer en als bewerkingen komen alleen maar + en * voor. Zo zal de string "234+*"
als (3 + 4)*2 uitgerekend worden.
int reken(char *p);
8. Maak een functie die in een tekst op zoek gaat naar een patroon. In het patroon kan de * als
jokerteken voorkomen. Ook letters en cijfers mogen in een patroon voorkomen. Deze oefening is
niet eenvoudig.
int zoekpatroon(char *tekst, char *patroon);
1