1
« en: Viernes 27 de Abril de 2007, 22:38 »
Hola amigo. Aunque este problema fue planteado en enero, fue ayer cuando me inscribí en este sitio, así que anoche mismo escribí esta funcioncita en Turbo Pascal (que lo mismo sirve para Delphi). Quizás ya hayas resuelto el problema, pero como un problema puede tener múltiples soluciones, pues esta te servirá de seguro. Procuré optimizarla al máximo.
function EliminaRepeticiones(s:string):string;
var
i:integer;
begin
i:=2;
while i<=length(s) do
if (s in ['a','e','i','o','u']) and
(s=s[i-1]) then
delete(s,i,1)
else
inc(i);
EliminaRepeticiones:=s;
end;
La función recibe como parámetro de entrada la cadena con las repeticiones y la devuelve ya sin ellas. Un ejemplo de programa principal que la use es el sgte:
var
t:string;
begin
write('Teclee cadena: ');
readln(t);
writeln;
writeln(EliminaRepeticiones(t));
readln;
end.
Espero te sea útil.