Realice un algoritmo que lea un vector y a partir de él forme un segundo vector, de tal forma que el primer elemento pase a ser el segundo, el segundo pase a ser el tercero, el último pase a ser el primero, y así sucesivamente.en c++
Respuestas a la pregunta
Contestado por
1
Para poder resolver este ejercicio, lo único que debemos utilizar es el operador módulo, que nos facilitará el trabajo, el algoritmo es el siguiente
#include <vector>
using namespace std;
vector<int> moverValores( const vector<int>& arreglo) {
int tam = arreglo.size();
vector<int> nuevoArreglo(tam);
for(int i = 0; i < tam; i++)
nuevoArreglo[i] = arreglo[(i+1) % tam];
return nuevoArreglo;
}
Como se ve, cuando la variable i llega a tam - 1, (i+1)% tam = (tam - 1 + 1) % tam = tam % tam = 0, y es el primer valor del arreglo, en el resto de posiciones no hay problema, puesto que i + 1 < tam
Otras preguntas
Inglés,
hace 6 meses
Matemáticas,
hace 6 meses
Matemáticas,
hace 6 meses
Filosofía,
hace 1 año
Exámenes Nacionales,
hace 1 año
Matemáticas,
hace 1 año
Física,
hace 1 año