Vectorfunktioner
Du ska implementera funktionerna
// Vänd på en vektor.
// Notera att den skickas som referens,
// så du ska vända samma vektor som skickas in.
void reverse(vector<int>& vec){
...
}
// Välj ut vartannat element ur en vektor (första, tredje, osv)
// och returnera en ny vektor med svaret.
// Du får inte modifiera vektorn, trots att den skickas som referens.
// Därför används "const" framför parametern.
vector<int> vartannat(const vector<int>& vec){
...
}
// Returnera det minsta värdet i en vektor.
int minsta(const vector<int>& vec){
...
}
// Returnera summan av elementen i en vektor.
int summa(const vector<int>& sum){
...
}
// Räkna antalet udda heltal, som dessutom befinner
// sig på udda index (räknat noll-indexerat!)
int veryOdd(const vector<int>& suchVector){
...
}
i C++ och skicka in dessa. Kattis kommer sedan testa att funktionerna beter sig korrekt.
Vektorerna som skickas in kan ha upp till och med $100\, 000$ element. Varje tal i vektorn är i intervallet $[-2000, 2000]$.
Exempel
// Skapa ny vektor med elementen 1, 1, 2, 5, 6, 0
vector<int> test = {1, 1, 2, 5, 6, 0};
reverse(test);
=> test ska nu vara {0, 6, 5, 2, 1, 1}
vector<int> result = vartannat(test);
=> result ska innehålla {0, 5, 1}
cout << minsta(test) << endl;
=> ska skriva ut det minsta talet, 0
cout << summa(test) << endl;
=> ska skriva ut summan, 15
cout << veryOdd(test) << endl;
=> ska skriva ut då endast det sista talet, 1 (på index 5) är udda och
befinner sig på en udda position.
Obs: se till att du har rätt namn och parametrar på funktionerna du skickar in. Säkrast är att kopiera kodskelettet ovanför.