Ir para conteúdo
Fórum Script Brasil

Psyhclo

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que Psyhclo postou

  1. Olá, estou tentando implementar o algoritmo do problema do caixeiro viajante, mas acontece que eu não estou conseguindo fazer ele apontar para a cidade de partida. Pra quem conhece o algoritmo, sabe do que estou falando. Eu estava tentando fazer a partir do algoritmo de Dijkstra, e assim mecher alguma coisa nele, pra fazer ele voltar pra cidade de partida, se alguém conseguir alguma coisa ai eu agradeço. Esse código ai e do dijkstra com a tentativa do salesman problem rsrs. se souberem de algum site que possa ajudar, que tenha o pseudocódigo, Obrigado. #define MAX 1000 #define INFINITY MAX*MAX int i, k, e, j, u, v, w, n, ini, fim, menor=0, aux; int visitado[MAX]; long dist[MAX][MAX]; long d[MAX]; int prev[MAX]; int custo[MAX]; int salesman(int s, int f){ int i, k, mini; int visitado[MAX]; for (i = 1; i <= n; ++i) { d[i] = INFINITY; prev[i] = -1; /* ainda não foi achado caminho para i*/ visitado[i] = 0; /* o i-esimo elemento ainda não foi visitado */ } d[s] = 0;//o vertice inicial foi inicializado com 0 for (k = 1; k <= n; ++k) { mini = -1; for (i = 1; i <= n; ++i) if (!visitado[i] && ((mini == -1) || (d[i] < d[mini]))) mini = i; visitado[mini] = 1; for (i = 1; i <= n; ++i) if (dist[mini][i]) if (d[mini] + dist[mini][i] < d[i]) { d[i] = d[mini] + dist[mini][i]; prev[i] = mini; } } } int imprimeCaminho(int dest) { if (prev[dest] != -1) imprimeCaminho(prev[dest]); printf("%d ", dest); }
  2. Ola, estou implementando esse algoritmo do problema da mochila fracionaria, so que quando eu entro com os itens, ele pega o primeiro valor que ele acha q seja menor que a capacidade da mochila, por exemplo, se a capacidade e 10, e eu entrei com 4 itens, {10,3,6,2} ele pega o 3 e ainda repete o valor do primeiro item em todos os itens q ele pegou. Segue o codigo: #include<stdio.h> #include<stdlib.h> int n, *valor, capacidade, *peso, i=0, *x, k, m, total; main(){ printf("Entre com a capacidade da mochila:\n"); scanf("%d",&capacidade); printf("Entre com o numero de itens:\n"); scanf("%d",&n); peso = malloc (n * sizeof(int)); valor = malloc (n * sizeof(int)); x = malloc(n * sizeof(int)); printf("Entre com o peso de cada item:\n"); for(i=0;i<n;i++){ scanf(" %d",&peso[i]); } printf("Entre com o valor de cada item:\n"); for(i=0;i<n;i++){ scanf(" %d",&valor[i]); } printf("Peso de cada item:\n"); for(i=0;i<n;i++){ printf(" %d |",peso[i]); } printf("\nValor de cada item:\n"); for(i=0;i<n;i++){ printf(" %d |",valor[i]); } for(i=0;i<n;i++){ while (n >= 1 && peso[i] <= capacidade) { x[n] = 1; //insere o item na mochila capacidade = capacidade - peso[i]; //decrementa a capacidade n--; //decrementa itens printf("\n\nItem %d.Valor. %d", n, valor[i]); printf("\n\nCapacidade disponivel na mochila: %d",capacidade); if (n >= 1) { x[n] = capacidade / peso[n]; //avalia se o item cabe na mochila for (k = n - 1; k < n; k--) { if(k==0)break; x[k] = 0;//os espaços não preênchidos recebem 0 } } } } Valeu!!
  3. eu to c um trabalho de tabela hashing em C. eu já fiz a funcao para gerar as chaves e já fiz o mod de cada chave e guardei cada um em seu respecivo vetor. so que o mod e a posicao na tabela hash, ou seja se eu tenho que o mod de 2000 pra 17 e 11, então 2000 vai ficar na 11 posicao da tabela. então gostaria de saber como fazer pra fazer essa comparacao, ou seja, jogar o valor pra posicao na tabela hash cujo e o valor do seu mod. segue o codigo abaixo, eu tentei colocar em um CODEBOX, mas tava dando inativo , então mandei assim mesmo, desculpa. mas analisem e ajudem quem puder, obrigado. int gerar() { int i,j,z,r,numero,chaves[12],mod[12], tab_hash[17]; /* inicializar o gerador de números aleatórios */ /* com time(NULL) */ numero=rand() % 8201; printf("Numeros Gerados\n"); for (i=0; i<12; i++){ chaves = rand() % 6200 + 2000; printf("%d ", chaves); } //-------------------------------------------------- printf("\n\n\tMod dos numeros gerados\n\n"); for(i=0;i<12;i++){ mod = chaves % 17; printf(" %d ",mod); } //-------------------------------------------------- }
  4. oi, estou mechendo no flexbuilder 3 , e tem um linkbar , e to qurendo linkar esse para um site qualquer, se alguém souber me ajuda ai. eu to tentando dentro das tags mas n conisog. beleza?? vlw.
×
×
  • Criar Novo...