Ir ao conteúdo
  • Cadastre-se

Lucas LC

Membro Pleno
  • Total de itens

    31
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

10

Sobre Lucas LC

  • Data de Nascimento 01/05/2001 (19 anos)

Informações gerais

  • Cidade e Estado
    Barueri/SP
  • Sexo
    Masculino
  1. Na verdade eu simplesmente tirei aquela parte e deixei a variável posição em 0, fiz a verificação da fila, se ela está vazia sim ou não, coloquei o endereço da primeira posição no ponteiro atual, decrementei o f->elementosNoHeap, coloquei o último elemento na primeira posição e chamei a reduzirPrioridadeAux, organizando meu heap. PONT removerElemento(PFILA f){ PONT res = NULL; int id; PONT atual; int posicao = 0; //Verificar se a fila não está vazia. if(f == NULL) return res; if(f->elementosNoHeap == 0) return res; //A primeira posição precisa ser exclui
  2. Não foi inicializado no método nessa parte eu já mudei, me equivoquei. Exatamente, ele não entra na definição de pilha e sim de uma árvore quase completa. Sim, PFILA é um ponteiro da fila de prioridade. E também a estrutura não pode ser mudada. Sim entendi, na verdade eu até me acostumei de usar typedefs como ponteiros.
  3. Ok, vou colocar as informações que estou usando para executar. filaDePrioridade.txt usaFilaDePrioridade.txt Coloquei as referências usadas e o arquivo de teste. A inserção está correta. Quando uso a função void aumentarPrioridadeAux2(PFILA f, PONT atual), ela aumenta a prioridade, mas não corretamente, tentei fazer isso usando o PONT atual, o int posicao e até uma função recursiva, fazendo o mesmo trabalho. A mesma coisa acontece em diminuir prioridade. Enunciado- heap.docx
  4. Boa noite! Estou fazendo uma fila de prioridade heap, são dois vetores de ponteiros que guardam os elementos inseridos, o método de inserir consegui fazer, mas as outras não consegui muito bem, gostaria de algumas dicas, criei alguns métodos auxiliares para fazer a manutenção da estrutura heap que são: refazHeapMaximo, maxHeapify, aumentarPrioridadeAux, reduzirPrioridadeAux. As duas últimas são subir heap, quando a prioridade de um elemento é modificada ele precisa subir na árvore e o descer é quando sua prioridade diminui. A estrutura heap é uma árvore que tem 2 filhos e 1 p
  5. Boa noite! Implementei alguns meses atrás uma fila de prioridade, agora preciso dar um level up no código implementando com HEAP MÁXIMO que é uma árvore binária na qual a prioridade de um nó sempre será maior ou igual à prioridade de seus filhos. O heap é representando utilizando um arranjo e não é necessário que cada elemento possua um ponteiro para seu filho a esquerda, a direita ou para seu pai, pois, a partir da posição de um elemento no arranjo sabemos onde está seu pai e seus filhos (se existirem). Eu tenho essas funções para implementar:
  6. Olá bom dia! Estou implementando uma função de preenchimento e preciso de uma informação, no java é considerado em uma imagem o canto superior esquerdo que possui coordenadas (0,0), a partir desse ponto eu quero começar a pintar no lado esquerdo, lado direito, acima e abaixo, posso fazer assim : (0,y), (x,0), (y,y) e (x,x).
  7. Lucas LC

    Java Curva de Koch e Preenchimento

    import java.awt.*; import java.awt.image.*; import javax.imageio.*; import java.io.*; public class Koch extends Image { //declaracoes de tipo int largura, altura; double PA,AB,BC,CQ; double cos60,sen60; public void inicio() { //Coordenadas iniciais PA = 40; AB = largura - 40; BC = altura - 80; CQ = BC; cos60 = Math.cos(3.1415927/3.); sen60 = Math.sin(3.1415927/3.); } public void Koch(Graphics imagem,int l,double Px,double Py,double Qx,double Qy){ int c; //Caso o limite seja menor que o comprimento. if ( l < c ) imagem.drawLine( (int)Px, (int)Py, (int)Qx, (int)Qy ); else{
  8. Alguém poderia dar uma ajuda ou algumas dicas. Preciso implementar um código que imprima uma curva de koch, como essa: Fiz uma classe mãe que se chama Image, segue o código: import java.awt.*; import java.awt.image.*; import javax.imageio.*; import java.io.*; public class Image { private int width, height; private BufferedImage image; private Graphics graphics; private Color color; private Color bgColor; public Image(int w, int h, int r, int g, int b){ setup(w, h, r, g,
  9. Eu também sempre tive a impressão que estava aprendendo errado e os profissionais sempre vão usar códigos mais enxutos, porque levam menos tempo. Meu professor da faculdade sempre pega no pé a questão da "lógica de programação", saber as tarefas que o algoritmo vai fazer sem compilar, parece até sinistro, mas faz bastante sentido e quem é novato precisa passar por esse processo. Por exemplo: É bem mais fácil de enxergar que está declarando uma classe e está instanciando tudo na mesma linha. Não é tão simples de entender, mas tem sua elegância. Porém,
  10. Perfeito arfneto, agradeço sua ajuda.
  11. Farei isso, obrigado.
  12. Concluído!!! #include "filaDePrioridade.h" PFILA criarFila(int max){ PFILA res = (PFILA) malloc(sizeof(FILADEPRIORIDADE)); res->maxElementos = max; res->arranjo = (PONT*) malloc(sizeof(PONT)*max); int i; for (i=0;i<max;i++) res->arranjo[i] = NULL; PONT cabeca = (PONT) malloc(sizeof(ELEMENTO)); res->fila = cabeca; cabeca->ant = cabeca; cabeca->prox = cabeca; cabeca->id = -1; cabeca->prioridade = 1000000; return res; } void exibirLog(PFILA f){ printf("Log [elementos: %i (alem do no cabeca)]\n", tamanho(f)); PONT atual = f->fila; p
  13. Olhei sim adicionado 1 minuto depois Estou fazendo alguns ajustes, quando eu terminar eu posto aqui.
  14. Foi mal acabei não vendo, mas vou dar uma olhada. adicionado 44 minutos depois Entendi o erro do meu código, eu achava que estava incluindo em uma lista circular, mas confundi as interpretações e fiz uma inserção de uma fila normal, ontem a noite eu corrigi essa parte, mas tinha um sinal errado que cancelava toda a minha inclusão. Com seu código consegui perceber isso. A função de busca estava ordenando corretamente, mas parecia que não era muito preciso comparar prioridade seria melhor comparar endereço do elemento. A função de troca eu tentei implementar no inic
  15. Sem problemas, deixei o mais simples possível, acabei com as condições, mas não está inserindo nada bool inserirElemento(PFILA f, int id, float prioridade){ bool resposta = false; PONT ant, atual ELEMENTO* novoElemento; PONT* arranjo; PONT prox = ant->prox; novoElemento = buscaSeqExc(f,prioridade,&atual,&ant); if(id < 0 || id >= f->maxElementos) return false; if(f->arranjo[id] == NULL) return false; novoElemento = (PONT) malloc(sizeof(ELEMENTO)); f->arranjo[id] = novoElemento; novoElem

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

livros-black-friday.jpg

SEMANA BLACK FRIDAY
Clube do Hardware

Todos os livros por apenas R$ 9,99 cada!

Eletrônica | Montagem de Micros | Redes