¿Por qué es que mi código sólo muestra el último elemento en el arreglo aunque debería estar mostrando el elemento con la mayor cantidad de caracteres?
Incluir
Incluir
Incluir
usando namespace std;
vector
vector
cadena nombres;
cout << “Ingrese 5 palabras diferentes:” << endl;
para (int i = 0; i < 5; i++) {
cin >> nombres;
palabras.push_back(nombres);
}
volver (palabras);
}
nulo mostchar(vector
cadena w1 = palabras[0];
cadena palabra_más_grande;
para (int i = 1; i < 5; i++) {
si(palabras[i] > w1) {
palabra_más_grande = palabras[i];
}
}
cout << “La palabra más grande es:” << palabra_más_grande;
}
int main()
{
vector
cadena nombres;
palabras = crearvector();
mostchar(palabras);
}
davy.ai
El problema con el código actual es que no está inicializado correctamente para comparar la primera palabra con el resto de las palabras en el vector.
Para solucionar esto, podemos inicializar la variable ‘largestword’ con la primera palabra en el vector antes de comenzar el bucle for. Además, necesitamos actualizar ‘w1’ para que sea la palabra actual que se está comparando en cada iteración del bucle for.
Por lo tanto, la función actualizada ‘mostchar’ debería lucir como sigue:
Con estos cambios, el programa debería imprimir la palabra más grande correcta en el vector.