Iterativt danne vectorer

Tags:    c++

Spurgte lidt til dette i forgårs men min spørgsmål var nok ikke så klart formuleret.

for(int i=0;i<N;i++){

Hvad skal jeg skrive her så jeg har vectorer der hedder v0, v1, v2,..vN-1

}


VH
Michael



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Lad mig lige porientere at hvis dette virker:
Fold kodeboks ind/udKode 

er det rent held.
Den rette defination er:
Fold kodeboks ind/udKode 

Forskellen er ikke stor, men yderst vigtig da >> jo er input operatoren og vil blive fortolket som sådan af alle de compilere jeg har brugt.



Indlæg senest redigeret d. 21.09.2007 14:30 af Bruger #4414
Altså det kan man ikke bare lige sådan i selve C++. Hvad er dit problem, altså hvad er det du er ved at lave?
Jeg tror dog at din løsning vil være en vektor af vektorer,

Fold kodeboks ind/udKode 




Spurgte lidt til dette i forgårs men min spørgsmål var nok ikke så klart formuleret.

for(int i=0;i<N;i++){

Hvad skal jeg skrive her så jeg har vectorer der hedder v0, v1, v2,..vN-1

}


VH
Michael


Noget i denne stil:

int i;
vector<vector<int>> IntVectors;

for (i = 0; i < 10; i++) {
IntVectors.push_back(vector<int>());
}





Det jeg gerne vil er for hver iteration danne en ny vector uden at overskrive den gamle. Derfor skal den nye vel have et nyt navn?



Nej.

Jeg kan komme med en forklaring af Roberts forslag.
Du har følgende kode:

Fold kodeboks ind/udKode 


Nu har du en vektor, IntVectors, som indholder 10 vector<int>. Altså vil du have fat i vektor nummer 2, kalder du den ved at sige:

Fold kodeboks ind/udKode 


1-tallet er jo fordi IntVectors starter med 0. Nu kan du fx sige

Fold kodeboks ind/udKode 

Så indholder vektor nummer 2, tallet 2.

Giver det mere mening?



For at forklare det i dit sprog:
Fold kodeboks ind/udKode 


Så har IntVectors N indgange. Nemlig fra 0,1,2 ... N-1, hvor hver indgang er en vector<int>.





yes tror jeg har fattet det. Tak for hjælpen.

Michael



t