Cita:
Iniciado por aguml Ya vi cual es tu fallo. El fallo es que al usar strcat con los arrais pisas otras cadenas. Tienes que usar un buffer grande que no se desborde:
Se puede ir reservando memoria dinámicamente con malloc y realloc pero no se si ya viste esos temas por eso puse un valor fijo para el bufffer.
Gracias por tu ayuda, al fin pude hacerlo. Pero ahora no se como convertir la primera letra de cada oracion a mayúsculas, la funcion toupper no me sirve.
Lo hago así:
strcat(oracion,articulo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, sustantivo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, verbo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, preposicion[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, articulo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, sustantivo[rand () % (4-0+1)+0]);
strcat(oracion,".");
cout<<oracion<<endl;