# Vector sorteren

<!-- Zorg dat de opdrachtnaam overeenkomt met de naam van de opdracht in Canvas. Dit is om de tooling voor het controleren van de deadline makkelijker te maken, maar het maakt het voor studenten ook overzichtelijker. -->

## Omschrijving
Deze oefening betreft een **opdracht**, dit betekent dat wij dit een belangrijke opdracht vinden en dat deze dus zwaarder meeweegt voor je portfolio.

Deze opdracht bestaat uit meerdere onderdelen.

### Inhoud[](toc-id) <!-- omit in toc -->
- [Vector sorteren](#vector-sorteren)
  - [Omschrijving](#omschrijving)
    - [Opdracht 2.13 Gesorteerde vector](#opdracht-213-gesorteerde-vector)
    - [Opdracht 2.14 Vector Input.](#opdracht-214-vector-input)
  - [Opleveren](#opleveren)
    - [Inleverbox](#inleverbox)
    - [Deadline](#deadline)
    - [Gebruik van AI](#gebruik-van-ai)
    - [Criteria](#criteria)
    - [Wat in te leveren](#wat-in-te-leveren)
    - [Feedback verzamelen](#feedback-verzamelen)
  - [Leeruitkomsten](#leeruitkomsten)


### Opdracht 2.13 Gesorteerde vector
Schrijf een functie die van een gegeven *vector<int>* controleert of de getallen zijn
gesorteerd van laag naar hoog. Bedenk zelf een **goede naam** voor de functie en wat de
functie teruggeeft.

### Opdracht 2.14 Vector Input.
Schrijf een programma dat de gebruiker vraagt om een reeks getallen in te voeren door steeds één getal te geven. 
- Als de gebruiker een negatief getal geeft, dan is de reeks compleet. 
- Stop de getallen in een vector. 
- Het negatieve getal neem je niet mee in de vector.

Het programma print vervolgens op het scherm 
- of de reeks gesorteerd is, 
- wat de gemiddelde waarde is, 
- wat zijn minimum waarde is en 
- hoeveel getallen de reeks bevat.
  
Zorg ervoor dat in de `main()`-functie zo min mogelijk code staat. Maak gebruik van je
code van de eerdere opdrachten.

Voorbeeld in- en uitvoer:
```console
$ Geef een getal: 1
$ Geef een getal: 21
$ Geef een getal: 7
$ Geef een getal: 45
$ Geef een getal: 567
$ Geef een getal: 9
$ Geef een getal: 3
$ Geef een getal: 7
$ Geef een getal: -1
De reeks is niet gesorteerd.
De gemiddelde waarde is: 82.5
De minimum waarde is: 1
De reeks bevat 8 getallen.
```

## Opleveren

### Inleverbox
<!-- Deze kan door het script dat de deadlines controleert hier automatisch geplaatst worden-->

### Deadline
Voor deze opdracht heb je ongeveer een week. Zie de inleverbox op Canvas voor de exacte deadline.
<!-- Écht controleren of de deadline goed staat is helaas onmogelijk (tenzij we dit ieder half jaar willen hardcoden). Wat we wel kunnen doen is kijken of de deadline ná de datum staat waarop de opdracht is uitgegeven (via het rooster, datum van bijbehorende les controleren t.o.v. deadline op Canvas) en of de deadline binnen een gegeven range na die les valt. Alternatief zouden we natuurlijk de deadline uit Canvas kunnen uitlezen en hier automatisch laten invullen, maar het originele probleem is natuurlijk dat dat steeds niet goed ging -->

### Gebruik van AI
Voor deze opdracht mag je **geen** generatieve AI gebruiken. 

### Criteria
- Je code werkt volgens de eisen uit de omschrijving
- Je code is opgedeeld in .hpp en .cpp bestanden
- Er is een main.cpp aanwezig waarin je de code test

Bij deze opdracht kijken wij vooral naar je begrip van de onderliggende concepten. Wij verwachten dat je inhoudelijke vragen over de code kunt beantwoorden en eventueel kleine aanpassingen aan de code kunt doen tijdens het aftekenen bij de docent.

### Wat in te leveren
- Een link naar de opdracht in je persoonlijke GitHub repository
- Alle nodige .cpp en .hpp files om je code uit te kunnen voeren en te kunnen testen

### Feedback verzamelen
Voor feedback op deze opdracht is aftekenen in de les vereist.

## Leeruitkomsten
Deze opdracht draagt bij aan de leeruitkomsten LU1 (Onderzoekend vermogen) en LU8 (Realiseren).