tabel container

Status
Niet open voor verdere reacties.

digibeast

Nieuwe gebruiker
Lid geworden
9 feb 2008
Berichten
2
ik zoek een manier om multi-dimentional vectors te maken.

ik wil namelijk dat mijn programma aan een aantal personen een aantal vragen stelt en dat de aantallen steeds gewijzigt kunnen worden, weet iemand een oplossing?

alvast bedankt,
me
 
Bedoel je een vector met vectors?

std::vector< std::vector<T> > vectorMetVectors;

Code:
#include <iostream>
#include <vector>
#include <string>

typedef std::string vraag;

int main() {
    // stel een eerste vragenlijst op
    std::vector<vraag> vragenlijst1;
    vragenlijst1.push_back("Hoe oud ben je?");
    vragenlijst1.push_back("Waar woon je?");
    
    // stel een tweede vragenlijst op
    std::vector<vraag> vragenlijst2;
    vragenlijst2.push_back("Hoe oud ben je?");
    vragenlijst2.push_back("In wat voor auto rij je?");
    
    // stop de vragenlijsten in een vector
    std::vector< std::vector<vraag> > vragenlijsten;
    vragenlijsten.push_back(vragenlijst1);
    vragenlijsten.push_back(vragenlijst2);
    
    // ga langs elke vragenlijst
    for (std::vector< std::vector<vraag> >::const_iterator i = vragenlijsten.begin();
            i != vragenlijsten.end(); ++i)
    {
        // ga langs elke vraag
        for (std::vector<vraag>::const_iterator j = (*i).begin();
                j != (*i).end(); ++j)
        {
            // laat vraag zien
            std::cout << *j << std::endl;
        }
    }
    
    std::cin.get(); // hou window nog even open
    
    return 0;
}
 
Laatst bewerkt:
Bedoel je een vector met vectors?

std::vector< std::vector<T> > vectorMetVectors;

Code:
#include <iostream>
#include <vector>
#include <string>

typedef std::string vraag;

int main() {
    // stel een eerste vragenlijst op
    std::vector<vraag> vragenlijst1;
    vragenlijst1.push_back("Hoe oud ben je?");
    vragenlijst1.push_back("Waar woon je?");
    
    // stel een tweede vragenlijst op
    std::vector<vraag> vragenlijst2;
    vragenlijst2.push_back("Hoe oud ben je?");
    vragenlijst2.push_back("In wat voor auto rij je?");
    
    // stop de vragenlijsten in een vector
    std::vector< std::vector<vraag> > vragenlijsten;
    vragenlijsten.push_back(vragenlijst1);
    vragenlijsten.push_back(vragenlijst2);
    
    // ga langs elke vragenlijst
    for (std::vector< std::vector<vraag> >::const_iterator i = vragenlijsten.begin();
            i != vragenlijsten.end(); ++i)
    {
        // ga langs elke vraag
        for (std::vector<vraag>::const_iterator j = (*i).begin();
                j != (*i).end(); ++j)
        {
            // laat vraag zien
            std::cout << *j << std::endl;
        }
    }
    
    std::cin.get(); // hou window nog even open
    
    return 0;
}

dit is precies wat ik bedoel, bedankt voor je reactie! :thumb::thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan