String_19-Union+de+dos+cadenas

=__**Obtener la cadena unión**__=

> Leer dos cadenas de caracteres y obtener la cadena unión de los caracteres de ambas. > En la cadena unión no puede haber caracteres repetidos. code format="pascal" PROGRAM string_19 ; USES Crt ; CONST iLONG_FISICA = 128 ; TYPE tsCadena = String [iLONG_FISICA] ;

FUNCTION fnsObtenerUnion (sCad_1, sCad_2: tsCadena) : tsCadena ; VAR byIndice     : Byte ; sUnion : tsCadena ; BEGIN sUnion := '' ;

FOR byIndice := 1 TO Length (sCad_1) DO       IF Pos (sCad_1[byIndice], sUnion) = 0 THEN sUnion := sUnion + sCad_1[byIndice] ;

FOR byIndice := 1 TO Length (sCad_2) DO       IF Pos (sCad_2[byIndice], sUnion) = 0 THEN sUnion := sUnion + sCad_1[byIndice] ;

fnsObtenerUnion := sUnion END ; { fnsObtenerUnion  }

{--- Declaración de variables del programa principal --} VAR sCadena_1, sCadena_2, sUnion : tsCadena ;

BEGIN { Programa Principal } ClrScr ; Writeln ; Writeln ('Programa que obtiene los caracteres que est n en dos cadenas') ; Writeln ;

Write ('Escribe una secuencia de caracteres: ') ; Readln (sCadena_1) ; Write ('                      Escribe otra: ') ; Readln (sCadena_2) ;

sUnion := fnsObtenersUnion (sCadena_1, sCadena_2) ;

Writeln ; Writeln ('         La cadena intersecci¢n es ->', sInterseccion, '<-') ; ; Writeln ; ReadLn ; END. code