Urgente C em Linux

1. Urgente C em Linux

Fernanda de Souza
Fernandass

(usa RedHat)

Enviado em 20/11/2006 - 21:29h

Tenho que admitir que não consegui resolver esse exercício, então se algum anjo conseguir me ajudar eu agradeceria muito.

A formatação de um documento em html é definida por tags.Algumas destas tags são utilizadas em paus sendo uma para abertura e outra para fechamento.

Ex :<i> itálico </i>

Escreva um programa que verifique se as tags de um arquivo Html estão corretamente fechadas e indique as que não estiverem.

Ex: ./compila pag html

pag[ ]=" "
Fernandassan@yahoo.com.br


  


2. Re: Urgente C em Linux

Tiago Barcellos Peczenyj
pacman

(usa Ubuntu)

Enviado em 21/11/2006 - 09:20h

Ola.

Se fosse um XML seria mais facil, pois o html permite coisas como

<b>A<i>B</b>C</i>

Se vc tivesse uma regra que obrigasse a fechar somente a ultima tag aberta, vc poderia trabalhar com uma pilha.

Uma forma de resolver este problema, genericamente, seria vc ter uma tabela desse tipo

char [] tag
int abertos

Percorrendo o texto à procura de tags do tipo usadas em html. quando vc encontrar algo que comece por '<' veja se o caracter proximo é uma '/', se não for, some um em aberto para esta tag, caso contrario, diminua.

No final vc pode verificar, se todos tem aberto = 0.

Lembre-se que vc pode ter TAGS que se fecham sozinha. Os itens de uma listbox são, normalmente, <alguma coisa/> -- ignore estes caras!

Isto é a implementação de um mapa, isto é, um array associativo cuja chave é uma string, não um inteiro. C não suporta diretamente, por isso vc tem que estudar como lidar com isso.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts