Una pequeña pregunta C

for(char j; i != strings.size(); std::coutlt;lt;strings[j]lt;lt;","){

cadenas. push_back(j);

std::sort(strings.begin(), strings.end()

Hay muchos problemas con este bucle

En primer lugar, su variable local char j no se inicializa después de declararla, entonces su valor es aleatorio y llamarla directamente producirá consecuencias impredecibles.

En segundo lugar, su programa necesita leer cadenas i y luego generarlas, pero no hay instrucciones para leer cadenas en su programa y está intentando insertar un carácter en un tipo de cadena en el. vector

Finalmente, por motivos de estandarización, el final de su programa debería devolver 0

Además, el propósito de su programa parece ser ingresar i cadenas y luego generarlas en el orden del diccionario, pero su código siempre genera la última cadena en orden lexicográfico en el vector actual

Por ejemplo, si su entrada es

3

z

p>

a

aaa

Entonces su programa generará 3 z en lugar de aaa z

Pero estoy no estoy seguro del propósito específico de su programa, por lo que no se modificará

Modificar de la siguiente manera

#include lt; iostreamgt

#include vectorgt;

int main(){

std::coutlt;lt;"¿Cuántas palabras se ingresarán?\n"

int

std ::cingt;gt;i;

std::coutlt;lt;"Se ingresarán"lt;lt;i lt;lt;"palabras.\n" ;

std::vectorlt; std::stringgt;

std::coutlt;lt;"Escriba"lt;lt;i lt;lt;"palabras "lt;lt;' \n';

for(char j=0; i != strings.size(); std::coutlt;lt;strings[j]lt;lt;", "){

std::string str;

std::cingt;gt;str;

strings.push_back(str);

std:: sort(strings.begin(), strings.end());

}

devuelve 0

}