Esta consigna es común en entrevistas laborales de algunas empresas importantes, como Facebook o Microsoft. En este caso, el código está casi completo pero falta una pequeña parte. ¿Sabrías decir qué condición es la correcta?
Click aquí para desplegar la solución. 👈
✅ La respuesta correcta es la d: numeros[i] != 0.
✏️ Explicación: La variable "i" se utiliza para iterar por el índice del vector "numeros" y la variable "cero" se detiene cada vez que encuentra un 0 en el arreglo. Si el elemento del vector en la posición indicada por i es diferente de 0, debemos intercambiarlo con el último 0 que hemos encontrado, ubicado en la posición que indica la variable "cero".
▶️ [Ver algoritmo explicado](https://youtu.be/nADemX9stHY?t=862){:target="_blank"}
Desafío C++ 👇
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
La función moverCeros recibe un vector con números y debe retornarlo con todos los elementos que sean cero desplazados hacia la derecha. ¿Cuál es la condición correcta a evaluar en el if para lograr lo que pide la consigna? a. cero==0 b. numeros[cero]!=0 c. i==0 d. numeros[i]!=0
Código:
void moverCeros(vector<int>& numeros) {
for (int i = 0, cero = 0; i < numeros.size(); i++) {
if (COMPLETAR EL CÓDIGO FALTANTE AQUÍ) {
swap(numeros[cero++], numeros[i]);
}
}
}