Please write these problems in C++ format 8. Write a void function named swap_ha
ID: 3626511 • Letter: P
Question
Please write these problems in C++ format8. Write a void function named swap_halves that passes in a vector of integers and swaps
the values in the first half of the vector with the values in the second half of the vector.
For example, if the vector argument passed in has values in the order:
4 8 2 9 1 7 6 3
then when the function returns the order of values in the vector argument will be:
1 7 6 3 4 8 2 9
Notice that this is not reversing the order of the values.
If the vector argument passed in has an odd number of values, then do not move the middle
value. For example, if the vector argument passed in has values in the order:
2 9 3 4 6
then when the function returns the order of values in the vector argument will be:
4 6 3 2 9
Notice that the value 3 did not move from the middle.
Pleae also define a useful helper function and use it correctly within your definition of swap_halves.
Explanation / Answer
#include<iostream>
#include<vector>
using namespace std;
void swap_values(vector<int>& v)
{
int k=v.size()/2;
for(int i=0; i<v.size()/2; i++)
{
int temp = v[i];
v[i]=v[k];
v[k]=temp;
k++;
}
}
int main()
{
int a[]={4, 8, 2, 9, 1, 7, 6, 3};
vector<int> v(a,a+sizeof(a)/sizeof(int));
cout << "before swap"<<endl;
for(int i=0; i<v.size(); i++)
cout << v[i]<<" ";
swap_values(v);
cout << " after swap"<<endl;
for(int i=0; i<v.size(); i++)
cout << v[i]<<" ";
return 0;
}
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.