No tienes que asignar nada a la ultima posicion antes de ordenar porque eso hará que se ordenen mal.
Código C:
Ver originalwhile(c != M_FI)
{
ordenado = false;
i = 0;
while ((!ordenado) && (i<n))
{
if(c.compare(t[i].paraula)<=0)
{
for (j = n-1; j>=i; j--)
{
t[j+1] = t[j];
}
t[i].paraula=c;
t[i].llarg=c.length();
t[i].rep=1;
ordenado = true;
}
i++;
}
if (!ordenado)
{
t[n].paraula=c;
t[n].llarg=c.length();
t[n].rep=1;
}
n++;
cin>>c;
}