Ya, si lo quieres dejar aun mejor, si te das cuenta hay una asignación repetida (la de dentro del bucle y la de insertar al final), la podríamos quitar de la siguiente manera.
Código C:
Ver originalwhile(c != M_FI)
{
ordenado = false;
i = 0;
pos = n;
while ((!ordenado) && (i<n))
{
if(c.compare(t[i].paraula)<=0)
{
for (j = n-1; j>=i; j--)
{
t[j+1] = t[j];
}
pos = i;
ordenado = true;
}
i++;
}
t[pos].paraula=c;
t[pos].llarg=c.length();
t[pos].rep=1;
n++;
cin>>c;
}