9. Vectors
Vectors zijn dynamische arrays. Voordeel is dat je niet van te voren de grootte van je array hoeft te bepalen maar dat de grootte dynamisch tijdens je programma aanpast. Nadeel is dat het iets minder efficiënt is.
Voordat je een vector kan gebruiken moet je eerst de library importeren:
#include <vector>
Met de volgende code kun je een vector declareren:
vector<int> voorbeeldVector;
Dit is een vector met integers. Je kan natuurlijk ook een vector met strings of andere types declareren.
Een vector kan je vullen en printen op de volgende manier:
voorbeeldVector.push_back(3);
voorbeeldVector.push_back(2);
voorbeeldVector.push_back(5);
cout << voorbeeldVector[0] << endl; // 3
cout << voorbeeldVector[1] << endl; // 2
cout << voorbeeldVector[2] << endl; // 5
Of hetzelfde met een for-loop:
for (int teller = 0; teller < voorbeeldVector.size();teller++) {
cout << voorbeeldVector[teller] << endl;
}
of
for (int waarde: voorbeeldVector) {
cout << waarde << endl;
}
In de vector library zitten nog handige functies. Voorbeelden van functies:
- size()
-> geeft de grootte van de vector aan.
- front()
-> geeft het eerste element in de vector.
- back()
-> geeft het laatste element in de vector.
- popback()
-> verwijdert het laatste element in de vector.
Opdracht 9.3 Schrijf een programma dat de namen en leeftijden van een aantal personen kan opslaan. Sla de namen op in een vector. En sla de leeftijden op in een andere vector. Bereken de jongste persoon een geef als uitvoer de naam van deze persoon.
Een 2-dimensionale vector
Een 2-dimensionale vector declareer je als volgt: vector<vector<int>> vect;
Het vullen en printen van een 2-dimensionale vectors kan op meerdere manieren.
Onderstaande code gebruik je als je vooraf de grootte van je vector weet:
Als je een 2-dimensionale vector direct met 0-en wil vullen dan gebruik je de code:
vector<vector<int> > vect(aantalRij, vector<int> (aantalKol, 0));
Onderstaande code gebruik je als je vooraf niet de grootte van de vector weet en het aantal kolommen en rijen door de gebruiker wordt bepaald. Het aantal kolommen per rij kan ook nog verschillen:
Opdracht 9.5 Schrijf een programma dat de proefwerken kan opslaan voor verschillende vakken. Gebruik een 2-dimensionale vector om de cijfers op te slaan. Vraag om de invoer van het aantal vakken. Daarna kan de gebruiker de cijfers van de proefwerken voor deze vakken invoeren. Elk vak kan een verschillend aantal proefwerkcijfers hebben. De gebruiker kan invoeren hoeveel cijfers elk vak heeft. Bereken het gemiddelde cijfer van elk vak. Bereken ook het gemiddelde cijfer van alle proefwerken.
Last updated