Jump to content

Search the Community

Showing results for tags 'arvore_binaria'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 1 result

  1. Nathan Vieira Marcelino

    Arvore binaria de palavras em C++

    Entao pessoal, sou novo no forum e preciso de ajuda com o seguinte problema: implementar uma arvore binaria de palavras em c++ (existem alguns quesitos do trabalho mas estes eu acho q posso resolver). Meu problema é colocar uma string como parametro dentro de cada Nó da arvore, tentei transformar tudo em 'const char *' mas nao obtive sucesso. segue o codigo e os erros, se alguem souber como me ajudar desde ja agradeço. #include <iostream> #include <string> #include <fstream> using namespace std; class No { public: No *esq, *dir; const char* no; int frequencia=0; No(const char* no){ this-> no = no; esq = NULL; dir = NULL; } ////////////////////////////////////////////////////////////////// int getNo(int i){ return no[i]; } ////////////////////////////////////////////////////////////////// No* getEsq(){ return esq; } ////////////////////////////////////////////////////////////////// No* getDir(){ return dir; } ////////////////////////////////////////////////////////////////// void setEsq(No* word){ esq = word; } ////////////////////////////////////////////////////////////////// void setDir(No* word){ dir = word; } ////////////////////////////////////////////////////////////////// /* void setFrequencia(){ frequencia+=frequencia; } ////////////////////////////////////////////////////////////////// int getFreq(){ return frequencia; } */ ////////////////////////////////////////////////////////////////// }; class Arvore { private: No* raiz; public: arvore(){ raiz = NULL; } ////////////////////////////////////////////////////////////////// void inserir (const char * word) { if(raiz == NULL) raiz = new No (word); // INSERIR COM ARVORE VAZIA else inserir2(raiz,word); } ////////////////////////////////////////////////////////////////// void inserir2 (No* no, const char* word) { int i=0, end = 1; while(end==1 || i>word.strlen() || i > no-> no.strlen()) { if ((int)word[i] < no->getNo(i)) { if(no->getEsq()==NULL) { No* novo_no = new No(word); no->setEsq(novo_no); }else{ inserir2(no->getEsq(),word); } end=0; // INSERIR A DIREITA OU A ESQUERDA }else if((int)word[i] > no->getNo(i)) { if(no->getDir()==NULL) { No* novo_no = new No(word); no->setDir(novo_no); }else{ inserir2(no->getDir(),word); } end=0; } i++; } /* SE FOR IGUAL SOMA A FREQUENCIA DA PALAVRA */ // setFrequencia(); /* SE FOR IGUAL SOMA A FREQUENCIA DA PALAVRA */ } }; bool escrever (){ ////////////////////////////////////////////////////////////////// string texto; ofstream myfile ("original.txt"); if(myfile.is_open()){ getline(cin,texto); myfile << texto; // ESCREVER TEXTO // myfile.close(); return 0; }else{ return 1; } ////////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////// bool modificar(){ string texto; fstream arq("original.txt"); ofstream myfile("modificado.txt"); if((arq.is_open()) && (myfile.is_open())){ getline(arq, texto); for (int i = 0; i < texto.length(); ++i) { if (((texto[i]<65)||(texto[i]>122)) || ((texto[i]>90)&&(texto[i]<97))) { texto[i]='\n'; } if((texto[i]>64)&&(texto[i]<91)) { texto[i]+=32; } } cout<< texto <<endl; myfile<< texto; arq.close(); myfile.close(); return 0; }else{ return 1; } } ///////////////////////////////////////////////////////////////// int main() { string palavra; Arvore arv; cout<<escrever()<<endl; cout<<modificar()<<endl; fstream arquivo ("modificado.txt"); const char* temp= getline(arquivo,palavra).c_str() arv.inserir( temp ); /*for (int i = 0; i < 7; ++i) { arv.inserir (getline(arquivo,palavra)); endl; }*/ return 0; } ////////////////////////////////////////////////////////////////// Erros: main.cpp: In member function 'void Arvore::inserir2(No*, const char*)': main.cpp:71:25: error: request for member 'strlen' in 'word', which is of non-class type 'const char*' while(end==1 || i>word.strlen() || i > no-> no.strlen()) ^~~~~~ main.cpp:71:49: error: request for member 'strlen' in 'no->No::no', which is of non-class type 'const char*' while(end==1 || i>word.strlen() || i > no-> no.strlen()) ^~~~~~ main.cpp: In function 'int main()': main.cpp:158:45: error: 'class std::basic_istream<char>' has no member named 'c_str' const char* temp= getline(arquivo,palavra).c_str() ^~~~~
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.