[ Foro de Pascal ]

Subcadena entre parentesis

23-Apr-2015 13:41
Invitado (NicoG)
1 Respuestas

En mi instituto me dan un ejercicio en el que me piden esto "Una cadena contiene una subcadena entre parentesis, realizar el programa que permita obtener la cadena sin la subcadena", pero no se como realizarlo


23-Apr-2015 19:29
Luis Torres (+12)

Si estás utilizando Turbo Pascal, te puedo decir que dispones de varios procedimientos y funciones que te permitirán trabajar con cadenas.
Buscando un poco en Google conseguirás información detallada sobre los mismos. Te adelanto que podrías usar la función pos(subCadena,cadena), la cual  devuelve la posición en la que está "subCadena" en "cadena"; "subCadena" podría ser "(" o también ")", entonces definirías dos variables, una para guardar la posición de "(" y la otra para guardar la posición de ")". Supongamos que dichas variables tienen como nombres "posicionInicial" y posicionFinal", tendríamos lo siguiente:

 
posicionInicial:= pos('(');
posicionFinal:= pos(')');
 


Además de pos(subCadena,Cadena), tendrías que usar un procedimiento llamado delete(cadena,posicionInicial,numeroCaracteres). posicionInicial ya lo tenemos, nos tocaría calcular el número de caracteres a eliminar de la cadena original; esto lo haremos con la siguiente operación matemática:

 
numeroCaracteres:= posicionFinal - posicionInicial + 1;
 


Eso sería todo lo que tendrías que hacer para que en "cadena" obtengas la cadena que tenías antes sin la subcadena contenida entre paréntesis, sin ellos.

Espero haberte orientado.

Saludos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)