Avatar billede djmaster Nybegynder
08. marts 2007 - 15:59 Der er 6 kommentarer og
1 løsning

Vector, flytte alle værdier en tak

Jeg har følgende funktionalitet vha. et array:

int int_array[11];

for (i=1; i<=10;i++){
    int_array[i-1] = int_array[i]; //Flytter alle elementerne en plads i array'et
}

som jeg gerne vil have lavet om så jeg bruger en vector istedet for et array.
Krav:
Vectoren skal have samme længde som array'et
Avatar billede jpk Nybegynder
08. marts 2007 - 16:09 #1
Kan du ikke bare fjerne det første element fra vectoren med erase?
Avatar billede djmaster Nybegynder
08. marts 2007 - 16:24 #2
Det kan jeg muligvis, men det kræver vist lidt modifikation af programmet.

Kan man ikke lave ovenstående funktionalitet med en vector?
Avatar billede jpk Nybegynder
08. marts 2007 - 16:35 #3
Hvordan vil du skifte til vector uden at modificere programmet..?

Dette vil slette første element i en vector, således resten "rykker en tak op".
vec.erase(vec.begin());
Avatar billede djmaster Nybegynder
08. marts 2007 - 16:52 #4
Det virker ikke lige umiddelbart. Synes ikke helt den læser mine tal ind i vectoren.

for(int i = 0; i< 10; i++}
X = i*2-3;
X++;
vec.push_back(X);
vec.erase(v.begin());
}

Mit program ser nogenlunde sådan ud. Men den læser ikke nogle tal ind i min vector, burde den ikke det?
Avatar billede djmaster Nybegynder
08. marts 2007 - 17:10 #5
hmm, nu er mit problem løst. Det er åbenbart nærmest umuligt for mig at læse noget ind i en <double> vector. Det hele løste sig da jeg lavede den om til en <int>
Har du nogen ide om hvorfor?

Smid et svar
Avatar billede jpk Nybegynder
08. marts 2007 - 17:31 #6
double skulle virke fint, du kan evt. prøve at vise koden, der giver dig problemer...

Jeg ved ikke om det blot er slåfejl, men din kode ovenfor virker ikke helt...
Det skal vel være nogel lign.:

for(int i=0; i<10; ++i)
{
X = i*2-3;
X++;
vec.push_back(X);
}
vec.erase(v.begin());
Avatar billede djmaster Nybegynder
08. marts 2007 - 22:29 #7
Jeg behøver ikke at bruge double's, det kan jeg nemt snige mig uden om. Bare det virker. Og det gør det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester