Jump to content

Search the Community

Showing results for tags 'c++'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 1,702 results

  1. dawn2dusk

    [C++ e OPENGL] Ajuda: Criar menu strip

    boas, existe alguma maneira de criar um menu do género (ficheiro, editar , ...) numa janela opengl, ou só há memo a hipotese de criar PopUp Menus? uso como biblioteca auxiliar o GLUT ...
  2. ElFurriel

    [C++] Ajuda: MineSweeper (Resolvido)

    Boas! eu sou novato nestas andanças, e tenho de fazer um projecto para uma cadeira da faculdade acerca do jogo de minas do windows. ou melhor tenho de fazer em C++ o jogo. 😳 Eu gostava que me ajudassem numa coisa. eu para fazer a janela estou a pensar utilizar uma tabela [10][10] por exemplo, mas depois não sei o que posso utilizar para por as minas aleatóriamente. eu sei que existe a função Rand, mas não sei aplica-la... será que alguem me pode dar umas luzes, isto é mostrar-me como se faz para criar aleatóriamente um numero fixo de minas, neste caso 8? Atenciosamente.... ElFurriel
  3. Boas pessoal. Já programo há algum tempo mas nunca programei em C++ para windows. O meu problema é conseguir ler o conteúdo de uma directoria e sacar as propriedades de cada um dos ficheiros (atributos, tamanho, data de criação, etc.). Consigo fazer isto na boa em C para linux, mas em C++ e para windows não sei que classes devo usar nem que includes devo fazer. Alguém me dá umas luzes?
  4. boas, alguem me sabe dar alguma informação/sites que me dêm alguma coisa sobre os movimentos do cursor, o que quero é algo assim: cout << insira novo localizalização do cursor cout<< x: cin >> x cou << y: cin >> y função.... nova localização do rato em x,y. ?
  5. http://madshi.net/madCodeHookDescription.htm madCollection official version release: · madCollection.exe teckV
  6. Longinus

    Compilar FMOD Ex em Dev-c++

    Ora boas a todos, faz tempo k não programava em C++ ,tenho andado no php, e decidi voltar com um projecto meu já antigo. A minha ideia era fazer uma especie de interface 3D, possivelmente em opengl, já k quero compatibilidade tanto em linux como em windows.Sei k já devem conhecer o xgl do linux, mas a minha ideia não era bem essa, queria algo mais imersivo, algo k nos fizesse pensar k não tava-mos apenas a ver um ambiente grafico todo lindo, mas sim "dentro dele". A interface grafica tudo bem, irrlicht (por enquanto), interface de som, FMOD Ex. Em linux tive sucesso a compilar exemplos dos 2, mas em windows o Dev-c++ dá uns erros estranhos, por ex: C:\DOCUME~1\David\DEFINI~1\Temp/cc2dcaaa.o(.text+0x458):main.cpp: undefined reference to `_ZN4FMOD6System10getVersionEPj@8' C:\DOCUME~1\David\DEFINI~1\Temp/cc2dcaaa.o(.text+0x4bf):main.cpp: undefined reference to `_ZN4FMOD6System4initEijPv@16' C:\DOCUME~1\David\DEFINI~1\Temp/cc2dcaaa.o(.text+0x4f6):main.cpp: undefined reference to `_ZN4FMOD6System13set3DSettingsEfff@16' Daquilo k pude averiguar, não sou caso unico, muita gente se queixa e uma possivel solução seria utilizar uma dll em vez de compilar juntamente com o projecto. Pensei utilizar outra biblioteca, procurei e vi k outra muito boa era a openAL, mas sofri a decepção k só a FMOD Ex permite ter som nas 6 colunas (atenção k é FMOD Ex e não FMOD). Agora a minha pergunta é se alguém já teve este problema ou se pelo menos sabe como resolver o problema de compilar ou importar a dll. E já agora, alguem tem algo contra o irrlicht? Em principiu vou ter k optar por outro pk julgo k não suporta video, mas gostava da vossa opinião.
  7. LSC

    Gerar numeros aleatorios

    Bem tenho mais um duvida, estou no estudo de c++ e surgiu-me uma duvida, como é que posso gerar numeros aleatorios a partir de um conjunto por exemplo {2,4,6,8,10} Obrigado!
  8. theproject

    Problema com classes compostas

    Boas, nao sou master em C++ ptt tenho uma duvida que gostava que alguem me explicasse sff. O prob e o seguinte: tenho uma classe A que tem um la dentro um campo de outra classe B (simples) o meu problema é que quando defino esse campo sou obrigado a escrever class B _nomeDaVar; Porque razao é que nao posso escrever apenas B _nomeDaVar; ?? pensava que ao criar uma classe o C++ fazia logo um typedef com o nome da classe... Vou postar o código em questao para nao haver dúvidas, gostava mesmo de perceber a razão disto... (...) #include <D3d9.h> #include <d3dx9.h> #include "world.h" #include "camera.h" class worldRenderer{ private: IDirect3DDevice9* _device; int _scrHeight; int _scrWidth; int _fps; world* _w; (...) E a classe world esta definida assim: #include "linkedList.h" #include "simpleObject.h" class world{ private: linkedList _simpleObjects; (...) Eu tenho os #ifndef nos .h's e as definicoes das classes nos .h's ... Porque razao o compilador descarrila com o world*_w; ???? Já vi que escrevendo class world* _w; funciona, mas pk? Desde já agradecido.
  9. Gurzi

    Video Tutoriais [ MUITO BOM]

    Malta um site com tutoriais em video , desde C++ com direct x, SQL, Visual basic, desde o mais simples ao mais avançado http://seangreasley.com/
  10. senito

    Algoritmos de grafos

    Boas, vou ter um trabalho prático para a uma cadeira (estruturas de infomação) em que terei que trabalhar com grafos e implementar alguns algoritmos. O trabalho é o seguinte: "O presente trabalho tem por objectivo adicionar à classe template representativa de grafos, através de lista de adjacências, os seguintes algoritmos: • Árvore de Expansão Mínima – implementar o algoritmo de Prim ou o algoritmo de Kruskal para determinar uma árvore de expansão mínima de um grafo não dirigido, pesado, conexo; • Fluxo Máximo numa Rede de Transporte – implementar o Algoritmo Ford- Fulkerson para determinar qual o fluxo máximo possível num grafo de fluxo; • Circuito de Euler – verificar se um grafo não dirigido tem um circuito de Euler, e em caso afirmativo, determiná-lo; • Eulerização de um Grafo – implementar um algoritmo que transforma um grafo não Euleriano num grafo Euleriano. " Será que alguém tem o código-fonte desses algoritmos que me pudesse arranjar? É que assim poupava algum tempo de pesquisa no google sobre o que cada algoritmos faz. Como trabalho não tenho muito tempo para estar à procura. Se alguém me pudesse ajudar agardecia imenso. Cumps
  11. nando_ice

    [Resolvido] Ficheiros em c++

    preciso de ajuda estou a fazer um programa k consiste na criacao de uma esturar de uma companhia de gas... tenho um problemas na minha funcao inserir sempre k tento inserir um novo ele cria-me outro fixeiro, alguem me pode ajudar?'?? aki vai o exerto do programa se precisarem de mais alguma coisa digam!! cumps fernando lopes void inserir(void) { char resp; FILE *f; if ((f=fopen("dadoscliente.dat","w+"))==NULL) { f=fopen("dadoscliente.dat","w"); } do { printf("Codigo Cliente: "); scanf("%d",&reg.codigo); printf("Nome: "); fflush(stdin); gets(reg.nome); printf("Rua: "); fflush(stdin); gets(reg.rua); printf("Numero porta: "); fflush(stdin); scanf("%d",&reg.numporta); printf("Andar: "); fflush(stdin); gets(reg.andar); printf("Localidade: "); fflush(stdin); gets(reg.localidade); printf("Numero garrafas compradas: "); fflush(stdin); scanf("%d",&reg.numgarrafas); fseek(f,0,SEEK_END); fwrite(&reg,sizeof(reg),1,f); printf("Novo cliente? (s/n)"); do { scanf("%c",&resp); }while (resp!='n' && resp!='s'); }while (resp!='n'); fclose(f); }
  12. Alguem me sabe dizer se é possivel no visual c++ aumentar as dimensoes do ecran de execucao??? É necessario codigo, ou existe mesmo alguma opcao? agradecia ajuda
  13. nando_ice

    [Resolvido] ajuda ficheiros

    boas gostava de saber como se faz comparacao entre fixeiros, em k o campo é do tipo inteiro? sei k do tipo char a comparacao é feita do seguite modo strcpy(reg.nome,nome);
  14. eddie_gordo

    [Resolvido] Classes em memoria secundaria

    Boas... Estou a fazer um trabalho em C++, simulando o funcionamento de uma linha do Metro. O enunciado pode ser visto aqui: http://www.dei.isep.ipp.pt/~cneves/TLP1_0506_2/Metro.htm Já tenho praticamente tudo implementado, a unica coisa que me está a dar a volta à cabeça é a forma como vou conseguir guardar todas as classes, listas e listas dentro de classes e por aí, em memória secundária... Alguém pode dar umas luzinhas? Se for necessário colocar aqui algum código avisem, sff... Cumprimentos e obrigado desde ja pela disponibilidade..
  15. Marino

    BST e classes duvida ( again )

    #include <iostream> #include <string> #include "BST.H" using namespace std; class PalavraFreq { string palavra; int frequencia; // frequencia = nº de vezes que palavra aparece public: PalavraFreq(string p=""): palavra(p), frequencia(0) {} string getPalavra() const { return palavra; } int getFrequencia() const { return frequencia; } void setFrequencia(int f) { frequencia=f; } bool operator < (const PalavraFreq &pf1) const { return palavra < pf1.palavra; } bool operator == (const PalavraFreq &pf1) const { return palavra == pf1.palavra; } }; class AnaliseTexto { BST<PalavraFreq> palavras; public: void trataTexto(string texto); int compMedio() const; string maisFrequente(string pref) const; void listarEntre(string pal1, string pal2) const; }; void AnaliseTexto::trataTexto(string texto) { PalavraFreq NOT_FOUND; int pos=texto.find(" "); while(pos!=string::npos) { string palavra = texto.substr(0,pos); PalavraFreq aux = palavras.find(palavra); if(aux==NOT_FOUND) palavras.insert(palavra); else aux.setfrequencia(++getfrequencia()); texto = texto.substr(pos+1); pos=texto.find(" "); } } Pll basicamente estou com uma duvida estupida 😳 Pll desta maneira estou a usar a variavel BST<PalavraFreq> palavras na funçao tratatexto, Mesmo ela sendo PRIVADA?
  16. Boas pessoal... Sera que alguem me pode dizer no que consiste um operador ternário "?:" e alguem me podia dizer tambem um exemplo sff... Obrigado desde ja... e ja agora.... alguem sabe qual e a diferença do break e do goto? e podem-me dar um exemplo para cada instruçao? Abraco HoNdAcTr
  17. uterrorista™

    Trab pratico - duvidas (topico activo)

    tenho uma disciplina " Computadores e programação 2". usando c++. e tenho um trabalho pratico final. (depois anexarei o pdf com o trab para poderem ver) aqui podem ver o conteudo da cadeira tenho as seguintes dúvidas: (1) como inserir caracteres ASCII nos "printfs"? ? ? queria fazer ums caixinhas (molduras) para o texto/menu do programa. se tiverem algumas dicas.. (2) como inserir cores no texto!? obg
  18. BlueDragon

    gestão de torneio

    Boas pessoal.. tenho k fazer um programa para gerir um torneio de futebol.... // Torneio.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; struct team { int codigo; char nome[20]; int jogos; int vitorias; int empates; int derrotas; int autogolos; int pontos; int golos_marcados; int golos_sofridos; int amarelos; int vermelhos; }equipa; team vect1[100]; struct player { int numero; int cod_equipa; int jogos; char nome[20]; int golosMarcados; int golosSofridos; int cartoesAmarelos; int cartoesVermelhos; int pos; }jogador; player vect2[100]; struct games { int cod; int codequipa1; int codequipa2; int resultado1; int resultado2; }jogo; games vect3[100]; int nreg=0; int nreg1=0; void main () { int num; void menu1(); void menu2(); system("cls"); cout << " 1: Torneio" << endl; cout << " 2: Gestao de Dados" << endl; cout << " 3: Sair" << endl; cin >> num; switch(num) { case 1: menu1(); break; case 2: menu2(); break; case 3: break; } } void menu1() { void menu_class(); void menu_bestscore(); void menu_bestkeep(); void menu_teamscards(); void menu_playerscards(); int num; system("cls"); cout << "GESTAO DE TORNEIO\n\n" << endl; cout << "1: Classificações" << endl; cout << "2: Mostrar melhor marcador" << endl; cout << "3: Mostrar melhor Guarda-Redes" << endl; cout << "4: Listar EQUIPAS com mais cartões" << endl; cout << "5: Listar JOGADORES com mais cartões" << endl; cout << "0: Voltar" << endl; cin >> num; switch(num) { case 1: menu_class(); break; case 2: menu_bestscore(); break; case 3: menu_bestkeep(); break; case 4: menu_teamscards(); break; case 5: menu_playerscards(); break; case 0: return; } } void menu_class() { system("cls"); } void menu_bestscore() { system("cls"); } void menu_bestkeep() { system("cls"); } void menu_teamscards() { system("cls"); int i, j; for(i=0; i=nreg; i++) { for(j=0; j<nreg1; j++) { vect1[i].amarelos=vect1[i].amarelos + vect2[j].cartoesAmarelos; } } for(i=0; i=nreg; i++) { for(j=0; j<nreg1; j++) { vect1[i].vermelhos=vect1[i].vermelhos + vect2[j].cartoesVermelhos; } } cout << "A equipa tem " << vect1[i].amarelos << " cartoes amarelos" << endl; cout << "A equipa tem " << vect1[i].vermelhos << " cartoes vermelhos" << endl; getch(); } void menu_playerscards() { system("cls"); } void menu2() { int num; void menu_insert(),menu_vis(),menu_edit(),menu_del(); system("cls"); cout << "GESTAO DE DADOS\n\n" << endl; cout << "1: Inserir" << endl; cout << "2: Visualizar" << endl; cout << "3: Editar" << endl; cout << "4: Eliminar" << endl; cout << "0: voltar atras" << endl; cin >> num; switch(num) { case 1: menu_insert(); break; case 2: menu_vis(); break; case 3: menu_edit(); break; case 4: menu_del(); break; case 0: main(); } } void menu_insert() { int num; void newteam(); void newplayer(); system("cls"); cout << "INSERIR DADOS\n\n" << endl; cout << "1: Equipas" << endl; cout << "2: Jogadores" << endl; cout << "0: voltar atras" << endl; cin >> num; switch(num) { case 1: newteam(); case 2: newplayer(); case 0: menu2(); } } void menu_vis() { int num; void visteam(), menu2(), visplayer(); system("cls"); cout << "VISUALIZAR DADOS\n\n" << endl; cout << "1: Equipas" << endl; cout << "2: Jogadores" << endl; cout << "0: voltar atras" << endl; cin >> num; switch(num) { case 1: visteam(); break; case 2: visplayer(); break; case 0: menu2(); } } void menu_edit() { system("cls"); cout << "EDITAR DADOS\n\n" << endl; cout << "1: Equipas" << endl; cout << "2: Jogadores" << endl; cout << "0: voltar atras" << endl; } void menu_del() { system("cls"); cout << "ELIMINAR DADOS\n\n" << endl; cout << "1: Equipas" << endl; cout << "2: Jogadores" << endl; cout << "0: voltar atras" << endl; } void newplayer() { nreg1++; int i; void menu_insert(); system("cls"); vect2[nreg1].numero=0; //for(i=0;i<nreg; i++) //{ // do{ cout << "introduza o numero: "; cin >> vect2[nreg1].numero; cout << endl; //}while (vect2[nreg1].numero==vect2[i].numero); //} cout << "introduza o nome: "; cin >> vect2[nreg1].nome; cout << endl; cout << "Introduza a equipa a que pertence (codigo de equipa): "; cin >> vect2[nreg1].cod_equipa; cout << endl; do { cout << "introduza a posição: (1- GR , 2-Def , 3-Med, 4-Avn) : "; cin >> vect2[nreg1].pos; cout << endl; }while (vect2[nreg1].pos < 1 && vect2[nreg1].pos > 4); if (vect2[nreg1].pos == 1) { cout << "Introduza o numero de golos sofridos: "; cin >> vect2[nreg1].golosSofridos; cout << endl; } else { cout << "Introduza o numero de golos marcados: "; cin >> vect2[nreg1].golosMarcados; cout << endl; } menu_insert(); } void visplayer() { system("cls"); int n; void menu_vis(); cout << "Introduza o numero do jogador que pretende ver: "; cin >> n; cout << endl; cout << "Nome: " << vect2[n].nome << endl; cout << "O jogador pertence a equipa: " << vect2[n].cod_equipa << endl; cout << "A jogador marcou: " << vect2[n].golosMarcados <<" Golos" << endl; cout << "A jogador sofreu: " << vect2[n].golosSofridos <<" Golos" << endl; cout << "A jogador tem: " << vect2[n].cartoesAmarelos <<" amarelos" << endl; cout << "A jogador tem: " << vect2[n].cartoesVermelhos<<" vermelhos" << endl; getch(); menu_vis(); } void visteam() { system("cls"); int n; void menu_vis(); cout << "Introduza o codigo da equipa que pretende ver: "; cin >> n; cout << endl; cout << "Nome: " << vect1[n].nome << endl; cout << "A Equipa fez: " << vect1[n].jogos <<" Jogos" << endl; cout << "A Equipa tem: " << vect1[n].vitorias <<" Vitorias" << endl; cout << "A Equipa tem: " << vect1[n].derrotas <<" Derrotas" << endl; cout << "A Equipa tem: " << vect1[n].empates <<" empates" << endl; cout << "A Equipa tem: " << vect1[n].autogolos <<" autogolos" << endl; cout << "A Equipa tem: " << vect1[n].pontos <<" Pontos" << endl; getch(); menu_vis(); } void newteam() { nreg1++; void menu_insert(); system("cls"); vect1[nreg].vitorias=0; vect1[nreg].derrotas=0; vect1[nreg].codigo=nreg; cout << "introduza o nome: "; cin >> vect1[nreg].nome; cout << endl; cout << "introduza o numero de jogos realizados: "; cin >> vect1[nreg].jogos; cout << endl; do { cout << "introduza o numero de vitorias: "; cin >> vect1[nreg].vitorias; cout << endl; }while (vect1[nreg].vitorias > vect1[nreg].jogos); do { cout << "introduza o numero de derrotas: "; cin >> vect1[nreg].derrotas; cout << endl; }while (vect1[nreg].derrotas + vect1[nreg].vitorias > vect1[nreg].jogos); cout << "introduza o numero de autogolos: "; cin >> vect1[nreg].autogolos; cout << endl; vect1[nreg].empates=vect1[nreg].jogos-(vect1[nreg].vitorias + vect1[nreg].derrotas); vect1[nreg].pontos=3*vect1[nreg].vitorias+vect1[nreg].empates; menu_insert(); } isto é o k tenho feito.. mas a parte de ver os jogadores e equipas... n tá a dar.. alguem sabe dize pk??
  19. Rucacool

    Procuro Tutoriais sobre arrays

    Boas, este é o meu preimeiro post. Resolvi recorrer a este forum, porque tenho um teste sobre arrays e não me entendo muito daquilo. Venho assim pedir que se não se emportarem me endicarem uns tutoriais sobre a materia para eu ficar mais dentro da coisa. Obrigado Cumps... 😎
  20. JCPrata

    Duvida no cast de Struct para char[]

    Boas, Tenho aqui uma duvida na conversao de uma estrutura para um array de bytes. Ja tentei cast explicitos e nao funciona. Struct x{ int a, int b, }; char[] xArray = (char[])x; Eu queria qualquer coisa deste genero, em que o array de char's/byte's neste caso iria ficar com oito posições ocupadas, devido a um inteiro ocupar quatro bytes. E claro depois também precisava de um cast ao contrario, passar um array de char's para uma Struct. Obrigado
  21. Marino

    [Resolvido] Grafos-Classe- Duvida

    Pessoal, mais uma vez, neste caso o programa compila mas nao corre! dá erro, já revi isto umas qntas vezes e sempre sem sucesso! :bye2: :bye2: Tenho que entregar isto hoje de tarde :wallbash: Alguma alma caridosa, que tente ver onde a porca torce o rabo. Já agora isto é uma classe de grafos com dois argumentos, nos e arestas, para um grafo de n nos pode ter n^2 arestas. Se para mim que fiz isto é dificil detectar os erros, entao para vocês ainda pior mas tentem #include <iostream> #include <string> using namespace std; //Excepcoes class GrafoCheio{}; class ArestaDesconhecida{}; class NoDesconhecido{}; class ArestaExistente{}; template <class N,class A> class CGrafo { struct Aresta { A val; bool usada; } ; struct No { N val; Aresta *arestas ; } ; No *v_nos; // vector de nos int tamanho; int nn; //n de nos int na; //n de arestas public: CGrafo (const int n=10); ~CGrafo(); CGrafo &inserir_no(const N &dados); CGrafo &inserir_aresta(const N &inicio, const N &fim , const A & dados); CGrafo &eliminar_aresta(const N &inicio,const N &fim); CGrafo &eliminar_no(const N &dados); A &valor_aresta(const N &inicio, const N &fim); void imprimir (std::ostream &os) const; int n_arestas(void) const; int n_nos(void) const; int capacidade(void) const; int pesquisa(const N &no); }; template <class N,class A> CGrafo<N,A>::CGrafo(const int n) { tamanho = n; v_nos= new No[tamanho]; nn=0; na=0; for (int i=0; i<n; i++) { v_nos[i].arestas = new Aresta[n]; for (int j=0; j<n;j++) v_nos[i].arestas[j].usada=false; } } template <class N,class A> CGrafo<N,A>::~CGrafo() { delete [] v_nos; /*int i; Será necessario? for(i=0;i<capacidade();i++) delete [] v_nos[i].arestas; for(i=0;i<capacidade();i++) delete [] v_nos;*/ } template <class N,class A> int CGrafo<N,A>::n_arestas(void) const { return na; } template <class N,class A> int CGrafo<N,A>::n_nos(void) const { return nn; } template <class N,class A> int CGrafo<N,A>::capacidade(void) const { return tamanho; } template <class N,class A> CGrafo<N,A> &CGrafo<N,A>::inserir_no(const N &dados) { if(tamanho == n_nos()) throw(GrafoCheio()); else { int aux=n_nos(); nn++; v_nos[aux].val=dados; /* for(int i=0; i<=n_nos(); i++) { v_nos[aux].arestas[i].usada=false; //Para colocar false em todas as arestas do no } */ } } //Funçao Pesquisa Nó template <class N,class A> int CGrafo<N,A>::pesquisa(const N &no) { for(int i=0;i<n_nos();i++) if(v_nos[i].val==no) return i; else return -1; } template <class N,class A> CGrafo<N,A> &CGrafo<N,A>::inserir_aresta(const N &inicio,const N &fim, const A &dados) { //Pesquisa int aux=pesquisa(inicio), auxfim=pesquisa(fim); /*for(int i=0;i<=n_nos();i++) if(v_nos[i].val==inicio) aux =i;*/ if(aux==-1) throw (ArestaDesconhecida()); /* for(int=0; i<=n_nos();i++) if(v_nos[i].val==inicio) auxfim=i; */ if(auxfim==-1) throw (ArestaDesconhecida()); if(v_nos[aux].arestas[auxfim].usada==true) throw (ArestaExistente()); //------------------- v_nos[aux].arestas[auxfim].val=dados; v_nos[aux].arestas[auxfim].usada=true; na++; return *this; } template <class N,class A> A &CGrafo<N,A>::valor_aresta(const N &inicio,const N &fim) { int auxini=pesquisa(inicio), auxfim=pesquisa(fim); if(v_nos[auxini].arestas[auxfim].usada==false) throw(ArestaDesconhecida()); return v_nos[auxini].arestas[auxfim].val; } template <class N,class A> CGrafo<N,A> &CGrafo<N,A>::eliminar_aresta(const N &inicio,const N &fim) { int auxini=pesquisa(inicio), auxfim=pesquisa(fim); if(v_nos[auxini].arestas[auxfim].usada==false) throw(ArestaDesconhecida()); v_nos[auxini].arestas[auxfim].usada=false; //v_nos[auxini].arestas[auxfim].val=0; na--; return *this; } template <class N,class A> CGrafo<N,A> &CGrafo<N,A>::eliminar_no(const N &dados) { int aux = pesquisa(dados); if (aux==-1) throw(NoDesconhecido()); for(int i =0; i<tamanho; i++) { if(v_nos[aux].arestas[i].usadas==true) { v_nos[aux].arestas[i].usadas=false; na--; } } nn--; return *this; } template <class N,class A> void CGrafo<N,A>::imprimir(std::ostream &os) const { for(int inicio=0 ; inicio< n_nos() ; inicio++) { os << "( "; for(int final=0; final<= capacidade(); final++) { if(v_nos[inicio].arestas[final].usada==true) os << v_nos[inicio].val << " [ " << v_nos[final].val << " " << v_nos[inicio].arestas[final].val << " ] "; } os << " ) "; } } template <class N,class A> std::ostream &operator<<(std::ostream &out,const CGrafo<N,A> &g) { g.imprimir(out); return out; } O ccp Teste: #include <string> #include <iostream> #include "CGrafo.h" using namespace std; int main() { CGrafo<string,int> g(5); // Inserir nós g.inserir_no("A"); g.inserir_no("B"); g.inserir_no("C"); g.inserir_no("D"); g.inserir_no("E"); // Erro // g.inserir_no("F"); // Erro // g.inserir_no("B"); // Inserir arestas g.inserir_aresta("A", "B", 5); g.inserir_aresta("A", "C", 8); g.inserir_aresta("B", "D", 9); g.inserir_aresta("C", "D", 3); g.inserir_aresta("C", "E", 4); g.inserir_aresta("D", "E", 2); g.inserir_aresta("D", "B", 11); // Erro // g.inserir_aresta("D", "B", 12); //cout << "Grafo: " << g << '\n'; // Estatisticas cout << "Nº de nós: " << g.n_nos() << "..."; if (g.n_nos() != 5) cout << "(Erro!)\n"; else cout << "(OK)\n"; cout << "Nº de arestas: " << g.n_arestas() << "..."; if (g.n_arestas() != 7) cout << "(Erro!)\n"; else cout << "(OK)\n"; // Eliminar arestas g.eliminar_aresta("D", "E"); cout << "Uma aresta a menos: " << g << '\n'; bool failed = false; // Erro // g.eliminar_aresta("A", "D"); // Mudar valores g.valor_aresta("A", "B") = 15; //cout << "Aresta A->B modificada: " << g << '\n'; cout << "Novo valor: " << g.valor_aresta("A", "B") << "..."; if (g.valor_aresta("A", "B") != 15) cout << "(Erro!)\n"; else cout << "(OK)\n"; cout << "**Fim**\n"; system("PAUSE"); return 0; }
  22. Mick3y_16

    Loot Increaser (vejam perciso de ajuda)

    Ola o meu nome e Pedro e gostava de aprender C++! Nao ha por aki ninguem interexado em me dar uma maozinha pa criar um prog para trabalhar com o seguinte texto! [loottemplate 11382] //Bloodlord Mandokir //35 Items loot=12804 31.33 loot=19895 13.62 loot=19869 13.18 loot=19893 13.18 loot=19723 13.13 loot=19870 12.67 loot=19878 12.54 loot=19863 12.38 loot=19877 12.35 loot=19873 12.30 loot=19724 12.11 loot=19722 11.59 loot=19943 9.81 loot=19720 6.98 loot=19719 6.67 loot=19721 6.65 loot=19874 6.37 loot=20038 6.14 loot=19867 6.09 loot=19866 3.78 loot=19716 2.95 loot=19718 2.74 loot=19717 2.55 loot=19872 0.44 loot=19726 0.25 loot=13463 0.01 loot=13464 0.01 loot=13465 0.01 loot=14047 0.01 loot=19727 0.01 loot=19813 0.01 loot=19816 0.01 loot=19818 0.01 loot=19820 0.01 loot=19821 0.01 Basicamnt o que kero e o seguinte, um programa capaz de alterar todos os numeros contidos axeguir a loot=????? ou seja os ultimos numeros sao percentagens e gostava de criar um programa capaz de multiplicar exas percentagens smpr por numeros inteiros! mas qd a multiplicaxao do mesmo ultrapaxa os 100% dava-m jeito k o programa deixa-se simplsmnt ficar a 100%, logico que gostava de acompanhar o desenvolvimento do mesmo pois kero aprender como o fazer. Agradexo kk ajuda Obrigado
  23. Luka

    Fazer executavel em C++

    Peço desculpa se esta pergunta já foi respondida neste fórum. Um colega meu fez um trabalho em C++ para a faculadde mas não está a conseguir fazer um executavel e então pediu-me para ver se conseguia saber como fazer, visto que ele não tem net. Alguém me pode dar umas luzes? É para windows, Visual C++ 6.0. Não sei se precisam de saber mais alguma coisa, se precisarem digam e obrigado desde já Um abraço, Luka
  24. terramoto

    int ou float?

    boas...alguem sabe de alguma maneira de saber se um "resultado" é float ou int? ou se o resultado de um float vai ser ,0 (que é o msm que um int, penso eu de que...) Obrigado. X) :wallbash:
  25. estou a iniciar-me no mundo dos jogos de pc... que livraria recomendam para iniciar ?? tive a ver e falam bem do ogre, fiz bem em tentar este engine ???
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.