holas, no me puse a analizar completamente todo el codigo pero me parece que para la última parte (donde unes el array) sería mas fácil utilizar JOIN.
en lugar de hacer esto
Cita: for (i=0;i<longitud;i++) //con otro FOR construyo la nueva cadena
{
textof=textof+patolin[i];
}
podrías hacer esto
o tambien utilizar toString().
Espero que te sirva para este codigo, y si no, para algun otro seguramente.
saludos