C++ leren voor de informatica olympiade
  • 💃Intro
  • Leer de basis van programmeren
    • 1. Programmeren, hoe te beginnen?
    • 2. Variabelen
    • 3. Keuze
    • 4. Herhalingen
    • 👓Code lezen
    • 5. String
    • 6. Boolean
  • Leer meer C++
    • 7. Functies - deel 1
    • 8. Array/vector
    • 9. 2D vector
    • 10. Functies - deel 2
  • 11. Recursie
  • 💻C++ en Visual Studio Code
  • Leer competitief programmeren
    • 12. Complete search
    • 13. Gegevens sorteren en zoeken
    • 14. Grafen
    • 15. Dynamisch programmeren
Powered by GitBook
On this page
  • Array
  • Vector
  1. Leer meer C++

8. Array/vector

Previous7. Functies - deel 1Next9. 2D vector

Last updated 4 days ago

Array

Het kan voorkomen dat je in je programma veel variabelen van hetzelfde type gebruikt. Stel dat je voor een jaar wil behouden in hoeveel minuten je naar school fietst.

int dag1, dag2, dag3, dag4, dag5, t/m dag365

Als we dan het gemiddelde van het aantal fietsminuten willen berekenen dan krijg je de code:

gemiddelde = (dag1 + dag2 + dag3 + dag4 + t/m dag365) / 365

Dit is veel typwerk en kan dus slimmer. Hiervoor gebruiken we arrays:

int dag[365]; //Dit is een array met de naam dag met 356 getallen

Een array kun je zien als een rij met hokjes waarin je een bepaalde waarde kan stoppen. Je moet bij het declareren van de array aangeven uit hoeveel hokjes de array bestaat en van welk de type de hokjes zijn.

Een array met 10 hokjes declareer je al volgt: int rij[10]; Elke hokje kan 1 integer bevatten.

Deze array kun je als volgt voorstellen:

De verschillende hokjes kan je benaderen met vierkante haken [ ], bijvoorbeeld rij[1]. Het getal 1 geeft aan over welk hokje we het hebben (ook wel index genoemd), in dit geval is dat de waarde 7. Let op het eerste hokje in de array heeft index 0.

Een array kun je vullen met een for-loop.

int rij[10], getal;
for(int i=0;i<10;i++){
    cin >> getal;
    rij[i]= getal;
}

De waardes in een array afrukken kan op de volgende manier.

for (int teller = 0; teller < 10;teller++) {
     cout << rij[teller] << endl;
}

of

for (int waarde:rij)
    cout << waarde << endl;

Je kan een array ook op de volgende manier vullen: int getal[5] = { 100, 101, 102, 103, 104 };

Om je array een beginwaarde te geven, kun je de volgende code gebruiken: int rij[10]{}; Op deze manier wordt de inhoud van je array op 0 gezet.

Opdracht 8.2 Schrijf een programma dat om de invoer vraagt van het aantal keren dat met een dobbelsteen wordt gegooid. De computer gooit de dobbelsteen, gebruik hiervoor de rand() die je al eerder gebruikt hebt om een random getal tussen 1 en 6 te genereren. Geef als uitvoer hoe vaak elk getal gegooid is.

Vector

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 op dezelfde manier vullen als een array maar het kan ook op de volgende manier: voorbeeldVector.push_back(3); voorbeeldVector.push_back(2); voorbeeldVector.push_back(5);

Printen van de vector werkt op dezelfde manier als de array.

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 8.1 Maak de opdracht .

Opdracht 8.3 Maak de opdracht:

Opdracht 8.4 Maak de opdracht:

ISBN
Balletje Balletje
Morsecode