MC102 - Pirata

383 palavras 2 páginas
/*MC102 - 2s2012 * Laboratório 01

* Código fonte: pirata.c * * O programa lê quantidades de ouro existentes em cada uma das 4 ilhas e determina o melhor caminho a ser percorrido pelo navio de forma que ele obtenha o maior tesouro sem ultrapassar um limite de carga pré-estabelecido pelo usuário. * * -Entrada: Quantidades de ouro em cada ilha e limite de carga do navio * -Saída: Tesouro obtido e caminho a ser percorrido.*/

#include

int main()
{

int a, b, c, d, L, x1, x2, x3, x4, x5, x6, x7, x8, melhor; /*As variáveis armazenam a quantidade de ouro de cada ilha, o limite de carregamento de ouro do navio, os possíveis camminhos a serem tomados e o melhor caminho a ser percorrido. */ scanf("%d %d %d %d %d/n",&a,&b,&c,&d,&L); /*Armazena os valores digitados pelo usuário*/ x1 = a + c; x2 = a + d; x3 = b + c; x4 = b + d; x5 = a + c + d; x6 = b + c + d; x7 = a + c + b + d; x8 = 0; melhor = -1;

if ((x1 melhor)) { /*Esta função seleciona o melhor caminho com a maior quantidade de ouro numa sequência de prioridade (de caminhos com menores índeices). Sendo que esta quantidade deve ser menor que o limite. */ melhor = x1;
}
if ((x2 melhor)) { melhor = x2;
}
if ((x3 melhor)) { melhor = x3;
}
if ((x4 melhor)) { melhor = x4;
}
if ((x5 melhor)) { melhor = x5;
}
if ((x6 melhor)) { melhor = x6;
}
if ((x7 melhor)) { melhor = x7;
}
if ((x8 melhor)) { melhor = x8;
}

if ((melhor == 0)||(melhor > L)) { /*O melhor caminho selecionado ao encontrar sua condição correspondente, é impresso na tela a quantidade de tesouro e o caminho a ser tomado.*/ printf("Tesouro: 0\n"); printf("Caminho: F.\n");
} else if (melhor == x1){ printf("Tesouro: %d\n",melhor); printf("Caminho: 1, 3, F.\n");
} else if (melhor == x2){ printf("Tesouro: %d\n",melhor); printf("Caminho: 1, 4, F.\n");
} else if (melhor == x3){ printf("Tesouro: %d\n",melhor); printf("Caminho: 2, 3, F.\n");
} else if

Relacionados