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
Respuesta dada 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
Preguntas similares
hace 6 años
hace 6 años
hace 6 años
hace 9 años
hace 9 años
hace 9 años