Pascal/Turbo Pascal - eliminar espacios intermedios

 
Vista:

eliminar espacios intermedios

Publicado por carol (1 intervención) el 17/01/2006 09:44:53
hola
quisiera hacer una fucion para eliminar los espacios intermedios en una cadena yno se como....
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:eliminar espacios intermedios

Publicado por M@rceloL (152 intervenciones) el 17/01/2006 21:13:52
¿Y devolver la cadena con todas las palabras juntas? Bueno, si es eso, sería algo así:

function SinEspacios(const Cadena:string;Separador:char):string;
var Ind:byte;
begin
Result:='';
for Ind:=1 to length(Cadena) do
if Cadena[Ind]<>Separador then Result:=Result+Cadena[Ind];
end;

Una llamada podría ser:

var c:string;

c:='Hola gente";
c:=SinEspacios(c,' ');

Quedando en c, "Holagente".

Espero te sirva, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminar espacios intermedios

Publicado por amix (1 intervención) el 01/02/2006 19:26:40
Lo unico k tienes k hacer es dezplazar el vector

TEnemos el vector : ABC EF
[A][B][ ] <-[E] <-[F] ,k kedaría de esta forma -> [A][B][E][F][ ]

Vy a escribir el código de ejemplo sin compilar (fe de erratas) solo para tener una idea
ya usteds lo mod en caso de error

Procedure Eliminar2(var v : vector;pos:integer);
begin
while (pos<M) do
begin
v[pos]:=v[pos+1];
pos:=pos+1;
end;
v[M]:='';
end;
Procedure Global(var v :vector );
var
i:integer;
begin

i:=0;
repeat
i:=i+1;
if(v[i]='') then
begin
Eliminar2(v,i);
i:=0;
end;
until i=M;

end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar