Ir ao conteúdo
  • Cadastre-se

Kimio Fujii

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

  1. Esta bom e sao compativeis sim. Sobre o processador esquentar bastante é verdade, eu tenha esse 8350 e ela chegava a 100 graus facilmente, o que me forçou a diminuir o clock dela pra poder usa-la. Ai eu comprei uma coolermaster seidon 120v e fico tudo sossegado.
  2. Boa tarde, Estou fazendo um trabalho onde preciso usar a codificacao de huffman. porém meu algoritmo de criar arvore esta falhando. Ela monta a arvore sem problemas mas so pela metade... Segue a entrada e saida: Entrada: string "abgggaaabbjkliuyyppo". Saida (imprimindo em Pre_ordem) em formato (letra, frequencia) 9 b 3 6 y 2 4 u 1 3 l 1 2 j 1 k 1 Ele so cria pela metade! .-. segue meu algoritmo struct No{ char letra; int freq; struct No *esq, *dir; }; typedef struct No No; struct no_vet{ No *nodo; struct no_vet *proximo; }; typedef struct no_vet no_vet; void cria_arvore_huffman(no_vet **forest, No **huf){ No *S0, *S1; if(*forest != NULL && (*forest)->proximo != NULL){ if((*forest)->nodo != NULL && (*forest)->proximo->nodo != NULL){ S0 = (*forest)->nodo; if(*huf != NULL) S1 = *huf; else S1 = (*forest)->proximo->nodo; *huf = (No*)malloc(sizeof(No)); (*huf)->freq = S0->freq + S1->freq; (*huf)->esq = S0; (*huf)->dir = S1; if((*forest)->proximo->proximo != NULL) cria_arvore_huffman(&(*forest)->proximo->proximo,huf); } } } Desculpa galera a falta de informacao no post. Pra acrescentar, eu tenho uma lista com chars e suas respectivas frequencias, em ordem crescente. Estou pensando em um novo algoritmo agora e se puderem me ajudar fico grato.
  3. To aprendendo ainda C, mas quando estava mexendo com arvores binarias sempre tive que usar o cast pros malloc se nao dava bug . Desculpe a explicacao ruim, mas caso voce tenha algum problema com malloc tente dar o cast nele.
  4. Precisa do cast... Tente usar v = (int*)malloc( n * sizeof (int) );
  5. Mano funcionou perfeitamente, muito bom. Muito obrigado cara
  6. Ta errado amigo, voce vai precisar usar um if, ja que ele pede que se o resultado do resto entre eles for 1 mostrar sua soma e etc... seria algo como: se ( valor1 % valor2 = 1) resultado = valor1+valor2+1(ja que a condicao pra entrar nesse if e 1); E assim por diante
  7. Olá a todos, me chamo Kimio e sou novo aqui no fórum. Estou fazendo um trabalho de estrutura de dados e estou passando por um problema... Preciso ordenar uma lista mas nao to conseguindo de jeito algum, estou uns 2 dias quebrando a cabeça e senti que precisava de uma mao do pessoal mais experiente. segue o codigo: struct No{ char letra; int freq; struct No *esq, *dir; }; typedef struct No No; struct no_vet{ No *nodo; struct no_vet *proximo; }; typedef struct no_vet no_vet; Funçao de ordenaçao void ordenar_floresta(no_vet **forest){ no_vet *atual, *menor; int comp = (*forest)->nodo->freq; if(*forest != NULL){ atual = *forest; while(atual != NULL){ if(atual->nodo->freq < comp){ comp = atual->nodo->freq; menor = atual; atual = *forest; *forest = menor; } atual = atual->proximo; } } if((*forest)->proximo != NULL) ordenar_floresta(&(*forest)->proximo); } Dou como entrada uma string, ele insere na lista normalmente, tanto a frequencia quanto a letra. Por exemplo string = {"aaaaaaaaaafgggjjjkkl"} Na funcao de imprimir os valores dentro da lista (floresta) ele me mostra: letra : a letra:f letra: g ... letra : l freq : 10 freq: 1 freq: 3 .... freq: 1 Mas depois de passar pela funcao de ordenacao ele mostra apenas: letra: f letra: l freq: 1 freq: 1 E nada mais... Nao sei mais o que pode ser esse problema .-. Por favor me ajudem !

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!