Ir para conteúdo
Fórum Script Brasil

Carlitox

Membros
  • Total de itens

    53
  • Registro em

  • Última visita

Tudo que Carlitox postou

  1. Carlitox

    Grafos

    Olá, Estou precisando de ajuda se poderem para um trabalho da Universidade. O trabalho consiste em ler um ficheiro txt carregar os objectos para dois arrays, com alocação dinámica, vai aumentando a capacidade. São eles Locais e Vias os objectos. Depois de criados, vou criar um grafo usando a class: class ListAdjGrafo Incluindo estas também #include "Vertice.h" #include "Ramo.h" //class ListAdjGrafo, onde #ifndef ListAdjGrafo_ #define ListAdjGrafo_ #include "Vertice.h" #include "Ramo.h" template<class TV,class TR> class ListAdjGrafo { private: int nvertices; int nramos; Vertice<TV,TR>* graf; Vertice<TV,TR>* encvert_conteudo(const TV& v) const; Vertice<TV,TR>* encvert_key(int numvert) const; public: ListAdjGrafo(); ListAdjGrafo(const ListAdjGrafo<TV,TR>& G); ~ListAdjGrafo(); int NumVert() const; int NumRamos() const; void juntar_vertice(const TV& vert); void juntar_ramo(const TR& rcont, const TV& vorigem, const TV& vdestino); int grau_entrada (const TV& vert) const; int grau_saida (const TV& vert) const; void escreve_grafo() const; //novo metodo para testar void remover_Vertice(const TV &vert);*/ }; template<class TV,class TR> ListAdjGrafo<TV,TR>::ListAdjGrafo() { nvertices=0; nramos=0; graf=NULL; } template<class TV,class TR> ListAdjGrafo<TV,TR>::ListAdjGrafo(const ListAdjGrafo<TV,TR>& G) { Vertice<TV,TR>* apv=G.graf; Ramo<TV,TR>* apr; graf=NULL; int numvert=0; while (apv) //adiciona os vertices { numvert++; Vertice<TV,TR>* vert=new Vertice<TV,TR>(apv->vconteudo,numvert); if (graf == NULL) graf = vert; else { vert->apvertice = graf; graf = vert; } apv = apv->apvertice; } nvertices = G.nvertices; apv=G.graf; while (apv) //adiciona os ramos { Vertice<TV,TR>* vorig = encvert_conteudo(apv->vconteudo); apr = apv->apramo; while (apr) { Ramo<TV,TR>* ramo = new Ramo<TV,TR>(apr->rconteudo,apr->apv); if (vorig->apramo == NULL) vorig->apramo=ramo; else { ramo->apr = vorig->apramo; vorig->apramo = ramo; } apr = apr->apr; } apv = apv->apvertice; } nramos = G.nramos; } template<class TV,class TR> ListAdjGrafo<TV,TR>::~ListAdjGrafo() { Vertice<TV,TR>* apv = graf; Vertice<TV,TR>* tempv; Ramo<TV,TR>* tempr; Ramo<TV,TR>* temp; while (apv) { tempr = apv->apramo; while (tempr) { temp = tempr; tempr = tempr->apr; delete temp; } tempv = apv; apv = apv->apvertice; delete tempv; } graf = NULL; nvertices=0; nramos=0; } template<class TV,class TR> int ListAdjGrafo<TV,TR>::NumVert() const { return nvertices; } template<class TV,class TR> int ListAdjGrafo<TV,TR>::NumRamos() const { return nramos; } template<class TV,class TR> Vertice<TV,TR>* ListAdjGrafo<TV,TR>::encvert_conteudo(const TV& v) const { Vertice<TV,TR>* ap=graf; while (ap != NULL) { if (ap->vconteudo == v) return ap; else ap=ap->apvertice; } return ap; } template<class TV,class TR> Vertice<TV,TR>* ListAdjGrafo<TV,TR>::encvert_key(int numvert) const { Vertice<TV,TR>* ap=graf; while (ap != NULL) { if (ap->key == numvert) return ap; else ap=ap->apvertice; } return ap; } template<class TV,class TR> void ListAdjGrafo<TV,TR>::juntar_vertice(const TV& vert) { if (nvertices == 0) { nvertices++; Vertice<TV,TR>* vertice = new Vertice<TV,TR>(vert,nvertices); graf = vertice; } else { Vertice<TV,TR>* ap=graf; Vertice<TV,TR>* ant=graf; bool enc=false; while (ap != NULL && !enc) { if (ap->vconteudo == vert) enc=true; else { ant = ap; ap=ap->apvertice; } } if (!enc) //vertice não existe { nvertices++; Vertice<TV,TR>* vertice=new Vertice<TV,TR>(vert,nvertices); ant->apvertice = vertice; } } } template<class TV,class TR> void ListAdjGrafo<TV,TR>::juntar_ramo(const TR& rcont, const TV& vorig, const TV& vdest) { Ramo<TV,TR>* tempramo=NULL; Ramo<TV,TR>* ant; Vertice<TV,TR>* vertorig; Vertice<TV,TR>* vertdest=NULL; vertorig=encvert_conteudo(vorig); if (vertorig == NULL) { juntar_vertice(vorig); vertorig=encvert_conteudo(vorig); } vertdest=encvert_conteudo(vdest); if (vertdest == NULL) { juntar_vertice(vdest); vertdest=encvert_conteudo(vdest); } tempramo=vertorig->apramo; //insere no fim da lista de ramos ant = tempramo; while (tempramo != NULL) { ant = tempramo; tempramo=tempramo->apr; } if (tempramo == NULL) { tempramo = new Ramo<TV,TR>(rcont,vertdest); tempramo->apr= NULL; if (ant) ant->apr = tempramo; else vertorig->apramo = tempramo; nramos++; } } template<class TV,class TR> int ListAdjGrafo<TV,TR>::grau_entrada (const TV& vert) const { int grau = 0; Vertice<TV,TR>* ap=graf; Ramo<TV,TR>* ap1; while(ap) { ap1=ap->apramo; while(ap1) { if (vert == ap1->apv->vconteudo) grau++; ap1=ap1->apr; } ap=ap->apvertice; } return grau; } template<class TV,class TR> int ListAdjGrafo<TV,TR>::grau_saida (const TV& vert) const { Vertice<TV,TR>* ap=encvert_conteudo(vert); Ramo<TV,TR>* ap1; int grau = 0; if (ap->vconteudo == vert) { ap1=ap->apramo; while (ap1) { grau++; ap1=ap1->apr; } ap=ap->apvertice; } return grau; } template<class TV,class TR> void ListAdjGrafo<TV,TR>::escreve_grafo() const { Vertice<TV,TR>* v = graf; Ramo <TV,TR>* r; if (v == NULL) cout << "Grafo não definido !" << endl; else { cout << "Num de locais " << nvertices << endl; cout << "Num vias " << nramos << endl<< endl; //percorre todos os vertices while (v != NULL) { cout <<"--------------------------------- " << endl; cout << "O local: "<< endl; cout <<"--------------------------------- " << endl; cout << *(v->vconteudo) << endl; cout << "Liga-se: "<<endl; cout <<"--------------------------------- " << endl; r = v->apramo; //percorre todos os ramos while (r) { cout <<*(r->apv->vconteudo) << endl; cout <<"Via de ligacao "<< endl; cout <<*(r->rconteudo) << endl; r = r->apr; } cout<<endl; v = v->apvertice; } } } void ListAdjGrafo<TV,TR>::remover_Vertice(const TV &vert) { Vertice<TV,TR>* v=graf; Vertice<TV,TR>* v2=graf; Ramo<TV,TR>* ap1; Ramo<TV,TR>* ap2; if (v == NULL) cout << "Grafo não definido !" << endl; else { while (v != NULL){ ap2=v->apramo; ap1=v->apramo; if (v->vconteudo==vert)//caso o conteudo seja igual ao vertice, elimina todos os ramos com origem em vert { while (ap1) { ap2=ap1; ap1=ap1->apr; ap2->apr=NULL; delete ap2; nramos--; } v->apramo=NULL; } else { //caso o conteudo não seja igual ao vertice while (ap1){ if(ap1->apv->vconteudo==vert){ //verifica se para cada vertice, existe algum ramo que aponte para o vert if (v->apramo==ap1) v->apramo=ap1->apr; else ap2->apr=ap1->apr; ap1=NULL; delete ap1; nramos--; } else { ap2=ap1; ap1=ap1->apr;} } } v=v->apvertice; } v=graf; v2=graf; while (v != NULL){ // int verticesPercorridos=0; bool encontrouVertice=false; while (v){ if (encontrouVertice){ v->key=v->key--; } if(v->vconteudo==vert){ //verifica se para cada vertice, existe algum ramo que aponte para o vert encontrouVertice=true; if (graf==v) graf=v->apvertice; else v2->apvertice=v->apvertice; v=NULL; delete v; nvertices--; v=v2->apvertice; }else{ v2=v; v=v2->apvertice; } } } } } #endif class vertice #ifndef Vertice_ #define Vertice_ template<class TV,class TR> class ListAdjGrafo; template<class TV,class TR> class Ramo; template<class TV, class TR> //Classe dos vertices do grafo class Vertice { friend class ListAdjGrafo<TV, TR>; private: TV vconteudo; int key; Vertice<TV,TR>* apvertice; Ramo<TV,TR>* apramo; public: Vertice(); Vertice(const TV& conteudo, int k); Vertice(const Vertice<TV,TR>& v); ~Vertice(); }; template<class TV,class TR> Vertice<TV,TR>::Vertice() { key = 0; apvertice=NULL; apramo=NULL; } template<class TV,class TR> Vertice<TV,TR>::Vertice(const TV& conteudo, int k) { vconteudo=conteudo; key = k; apvertice=NULL; apramo=NULL; } template<class TV,class TR> Vertice<TV,TR>::Vertice(const Vertice<TV,TR>& v) { vconteudo = v.vconteudo; key = v.key; apvertice=v.apvertice; apramo=v.apramo; } template<class TV,class TR> Vertice<TV,TR>::~Vertice() { } #endif Class ramo #ifndef Ramo_ #define Ramo_ template<class TV,class TR> class ListAdjGrafo; template<class TV,class TR> class Vertice; template<class TV,class TR> //Class representativa dos ramos que ligam vertices do grafo class Ramo { friend class ListAdjGrafo<TV,TR>; private: TR rconteudo; Vertice<TV,TR>* apv; Ramo<TV,TR>* apr; public: Ramo(); Ramo(const TR& rcont, Vertice<TV,TR>* pv); Ramo(const Ramo<TV,TR>& r); ~Ramo(); }; template<class TV,class TR> Ramo<TV,TR>::Ramo() { apv=NULL; apr=NULL; } template<class TV,class TR> Ramo<TV,TR>::Ramo(const TR& rcont, Vertice<TV,TR>* pv) { rconteudo=rcont; apv=pv; apr=NULL; } template<class TV,class TR> Ramo<TV,TR>::Ramo(const Ramo<TV,TR>& r) { rconteudo=r.rconteudo; apv=r.apv; apr=r.apr; } template<class TV,class TR> Ramo<TV,TR>::~Ramo() { } #endif Já fiz alguns metodos, na class ListAdjGrafo, falta-me ainda este que queria a vossa ajuda. - apresentar todos os percursos possíveis entre dois locais (cidades, vilas ou locais de interesse turístico, estas são classes derivadas de locais) Conta-Caminhos (apinicio, apfim, vector, cont) vector[apinicio→key]=1 apramo= apinicio→apramo Enqto apramo /= Nulo nvdest= apramo→apv→key Se (apinicio→vconteudo = = apfim→vconteudo) cont++ Se (vector[nvdest] == 0) Conta-Caminhos(apramo→apv,apfim,vector,cont) apramo = apramo→apr FEnqto vector[apinicio→key] = 0 ; Fim Conta-Caminhos Obrigado pela atençao
  2. Boas, Precisava de uma ajudinha, alguém sabe porque é que este script funciona muito bem no ie e no firefox n? <script language="javascript"> function select_image(imagename) { parent.opener.formulario.<?php echo $_GET[field];?>.value = imagename; parent.window.close(); } </script> obrigado.
  3. já está a dar quase perfeito no ie o problema agora é no firefox não dá bem, começa de cima. muito obrigado pela ajuda que me tas a dar, se der p dar mais uma maoxinha agradeço muito
  4. Ola, alguém conhece algum menu dropdrown horizontal que ao passar o rato aparecam os submenus para cima do menu, em vez de para baixo? Tipo este (http://www.dhtmlgoodies.com/scripts/dhtmlgoodies-menu2/dhtmlgoodies-menu2.html), mas aparecer os menus para cima. Ou então se alguém conseguir colocar este para cima ideal, eu já andei a tentar mas não consigo :S http://www.dhtmlgoodies.com/scripts/dhtmlg...dies-menu2.html Tanks
  5. Olá a todos, Estou com um problema com uma css, e preciso de ajuda para colocar as imagens com border. No Firefox está a funcionar relativamente bem, só não fixa a border depois de seleccionada. O maior problema é na ie, não fica a cor que quero, nem a funcionar o hover. O código que tenho é este: .image { color: #ffffff; } a.image { color: #ffffff; } a.image:hover { color: #809794; } a.image:active { color: #809794; } Código html/php: <td align="center" valign="middle" width="96" height="56"><a href="java script:Mostra2(<?php echo $prod_grid[$cell][$pos_col][0];?>)" class="image"><img src="image_bank/<?php echo $prod_grid[$cell][$pos_col][1];?>" width="92" height="52"></a></td> Abraços..
  6. Carlitox

    Servidor Apache+php+mysql

    desculpa lá, mas hoje os topicos são diferentes. Num perguntei se conhecem algum hosting php/mysql free Noutro como posso configurar na minha makina uma servidor apache/php/mysql parece diferente
  7. Carlitox

    Servidor Apache+php+mysql

    keria mesmo era um hosting free :S
  8. ola, servidor apache+php+mysql? alguém sabe de algum free? mesmo so para testar paginas. abraços ---POSTS fundidos... ola, alguém sabe como configurar servidor apache para colocar o website online? eu tenho o wamp instalado para correr localmente, mas agora gostaria de colocar online? abraços e obrigado desde já
  9. Tenho aqui um exemplo que algo parecido que fiz: <?php //contexto da página //id do utilizador pendente $id = $_GET["id"]; //listar utilizadores pendentes //ligação à base de dados include("ligacao.php"); //consulta da utilizadore pendentes $result=mysql_query("select * from utilizador_pendente where id=$id"); ?> <table width=764" border="0" align="center" bordercolor="#000343" cellpadding="0" cellspacing="0"> <tr> <td> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <table width="700" border="0" bordercolor="#d3decd" align="center"> <tr> <td width="25" bgcolor="#d3decd">&nbsp;Id</td> <td bgcolor="#d3decd">&nbsp;Nome</td> <td bgcolor="#d3decd">&nbsp;Empresa</td> <td bgcolor="#d3decd">&nbsp;País</td> <td bgcolor="#d3decd">&nbsp;Email</td> <td width="130" bgcolor="#d3decd">&nbsp;Data Registo</td> <?php //imprimir resultados while ($row = mysql_fetch_assoc($result)) { ?> <tr> <td><font size="2">&nbsp; <?php $id=$row["id]; echo $id;?></font></td> <td><font size="2">&nbsp; <?php echo $row["nome"]?></font></td> <td><font size=2">&nbsp; <?php echo $row["empresa]?></font></td> <td><font size="2">&nbsp; <?php echo $row["pais"]?></font></td> <td><font size=2">&nbsp; <?php echo $row["email]?></font></td> <td><font size="2">&nbsp; <?php echo $row["data_registo"]?></font></td> </tr> <?php } echo "</td></tr></table></td></tr></table><br />"; ?> </table> Faço a ligaçao á base de dados com um include, o ficheiro que está já configurado e eu so chamo. Faço um consulta e imprimo os resultados. Esta é a ligaçao à base de dados no ficheiro ecra: <?php $conn = mysql_connect('localhost','user','pass'); if (!$conn) { echo "Impossivel ligar à BD: " . mysql_error(); exit; } if (!mysql_select_db('basededados')) { echo "Impossivel ligar à: " . mysql_error(); exit; } ?>
  10. Carlitox

    Tela Do Monitor

    obrigado limeweb, já consegui fazer o que pretendia. tanks a quem tambem postou ;p
  11. Carlitox

    Tela Do Monitor

    boas, alguém sabe como posso detectar a resoluçao do meu ecra, com php? Abraços
  12. Boas galera, alguém sabe como posso passar um valor de javascript p asp/php? abraços, obrigado
  13. .body{ overflow: visible; } é este o código que pretendia, fica ai pra quem precisar. ;)
  14. Carlitox

    Radio

    podes usar isto: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="pt"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Exemplo de abrir/fechar elemento usando Javascript e CSS - IvoGomes.com</title> <meta name="generator" content="TextMate [url=http://macromates.com/">]http://macromates.com/">[/url] <meta name="author" content="Ivo Gomes"> <!-- Este CSS serve apenas para estilizar esta página e não está relacionado com os exemplos aqui demonstrados. O CSS dos exemplos será incluído na própria página. --> <link rel="stylesheet" href="../lib/css/exemplos.css" type="text/css" media="screen"> <script type="text/javascript"> <!-- function toggle(obj) { var el = document.getElementById(obj); if ( el.style.display != "none" ) { el.style.display = 'none'; } else { el.style.display = ''; } } --> </script> </head> <body> <h1>Abrir/Fechar elemento usando Javascript + CSS</h1> <p>Clica no link para abrir a caixa de informação escondida</p> <p><a href="#" onclick="toggle('maisinfo');">Mais Informação</a></p> <div id="maisinfo" style="display:none"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p><strong>Podes voltar a clicar no link para fechar esta caixa de informação</strong></p> </div> <div id="footer"> <p>&raquo; <a href="http://www.ivogomes.com/blog/abrirfechar-elementos-usando-javascript-e-css/">Voltar para o artigo referente a este exemplo</a> </div> </body> </html>
  15. Ola a todos, alguém sabe cmo posso ter sempre activa a barra do scroll do firefox. Como a do ie, ela aparecer sempre la, se necessaria activa senao desativa. ??? abraços
  16. Olá pessoal, Alem sabe como passar parametros para o css? É que tenho um valor que preciso sempre de passar. Abraços
  17. olá a todos, Tou a criar um menu dinámico em dhtml, dinamico com php, só que tenho um problema. O problema é o seguinte sempre que clico numa das opçoes do menu a página faz refresh e o menu fecha. alguém sabe como posso saber qual foi o link que clikei? Abraços
  18. eu já tou a utilizar como diz lá so que o problema é que ele não fixa o menu que fica activo. exemplo. menu1 menu2 menu3 menu sdasd asdd se carregar no menu2, por exemplo, fica assim: menu1 menu
  19. Preciso de utilizar um menu treeview em dhmtl tipo este: http://www.dhtmlgoodies.com/scripts/dhtmlg...ies-menu3.html# alguém já trabalhou c algo parecido? Tanks galera
  20. Carlitox

    Erro Em Cunsulta Mysql

    eu faço assim e dá bem: selec = mysql_query("SELECT * FROM EQUIPAMENTOS where serial = '".$serial."' ");
  21. Carlitox

    Erro Em Cunsulta Mysql

    "SELECT * FROM table where variavel = ' ".$variavel." ' " experimenta isto.
  22. O que eu queria era do PHP, colocar esta opção num sistema que estou a desenvolver. No entanto já arranjei solução :D. fica ai para quem precisar. <?php //ligação à base de dados include("../ligacao.php"); header("Content-type: "."application/vnd.ms-excel"); //obter valores por get $id=1; $report_names="Users listing"; //sql para listar quais os users $report_queries = array("SELECT (select text from translation where ref='MKT1' and id=id_market and id_language='1') as market, " ."(select text from translation where ref='UST1' and id=id_user_type and id_language='1') as UserType, " ."other_type, name, company, address, zipcode, city, country, phone, " ."email, creation_date " ."FROM users ORDER BY id_market, id_user_type, name;"); $id=$id-1; if ($id>count($report_names)) { echo "Invalid report requested"; } //executar query $rs=mysql_query($report_queries[$id]); echo "<html>"."\r\n"; echo "<head><title>".$report_names."</title><meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel\"></head>"."\r\n"; echo "<body><table border=\"1\">"."\r\n"; //exportar os nomes dos campos na primeira linha //inicializar $i $i=0; //contar numero de campos da tabela $count=mysql_num_fields($rs); //cor da tr da primeira linha echo "<tr bgcolor=\"#CCCCCC\">"; //imprimir os campos na primeira linha while ($i<$count) { $field = mysql_field_name($rs, $i); echo "<td><b>".$field."</b></td>"; $i++; } echo "</tr>"."\r\n"; // $rs is of type "adodb.recordset" $rs=mysql_query($report_queries[$id]); // exportar os valores dos registos nas seguintes$par=0; while($row=mysql_fetch_assoc($rs)) { if ($par==0) { echo "<tr bgcolor=\"#FFFFFF\">"; $par=1; } else { echo "<tr bgcolor=\"#FFFFE0\">"; $par=0; } foreach ($row as $field) { if ($field=="") { echo "<td></td>"; } else { echo "<td>".$field."</td>"; } } echo "</tr>"."\r\n"; } echo "</table></body></html>"."\r\n"; ?>
  23. Olá Alguém sabe como fazer um export dos dados do php para o excel? Tanks
×
×
  • Criar Novo...