Foros del Web » Programando para Internet » PHP »

balancear parentesis, algoritmo duda...

Estas en el tema de balancear parentesis, algoritmo duda... en el foro de PHP en Foros del Web. hola quiero balancear parentesis , me sirve este pseudocodigo soy amigo de php , por eso lo publico . aca -tomo la palabra. en una ...
  #1 (permalink)  
Antiguo 10/01/2013, 11:39
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
balancear parentesis, algoritmo duda...

hola quiero balancear parentesis , me sirve este pseudocodigo

soy amigo de php , por eso lo publico . aca


-tomo la palabra. en una variable...
-con la funcion substr_count cuento cuantos parentesis izq hay '('
lo guardo en una variable.. $izq.

-vuelvo a contar con la funcion substr_count cuantas paretesis que cierran hay ---
hablo de estos ')' los guardo en esta variable... $der

-Luego comparo si son iguales $izq==$der si son iguales , los parentesis son de iguales cantidad ,pero el orden NO.

()() balanceo validado
(()) balanceo validado
aca tirara correcto PERO ES INVALIDO.... )()( NO ES VALIDO

-------------------
este pseudocodigo es medio trucho, pero vi otros que el orden tampoco los registra...


acaso la unica manera de verificar el orden en este caso ..

)()( aca hay la misma cantidad de parentesis abierto que cerrado...

la unica manera de validar esto es con expresiones regulares...???
o se podria hacer con funciones php de string?:::
  #2 (permalink)  
Antiguo 10/01/2013, 11:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: balancear parentesis, algoritmo duda...

Si se puede hacer con funciones normales para cadenas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: algoritmos, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:10.