Algoritmo Gulosos
Disciplina: Análise de Algoritmos
Aluno (a): Larissa Firmino Messias
Período: 5º
1) Faça a implementação do algoritmo da seleção de atividades atendendo as características estudadas sobre algoritmos gulosos e exiba quais as atividades serão selecionadas.
a. Dica: Você precisará criar variáveis para armazenar um valor inicial e um valor final de cada atividade e cada atividade precisa ser analisada conforme as características do algoritmo.
b. Caso de teste: int inicio[]={1,3,0,5,3,5,6,8,8,2,12}; int fim[]={4,5,6,7,8,9,10,11,12,13,14};
Atividades = 11; 2) Na instituição Grupo Unis gostaríamos de um sistema que pudesse controlar a grade de aulas dos professores.
a. Faça a implementação do algoritmo acima de forma tornar-se dinâmico a quantidade de entrada de atividades. b. Mostre a sua grade final.
c. Maximizar a quantidade de aulas a ser ministrada.
d. Não se esqueça de identificar a aula ministrada.
e. Não se esqueça de identificar o professor.
SELEÇÃO DAS ATIVIDADES – LINGUAGEM C
ATIVIDADE 1
#include
#include int main(int argc, char *argv[])
{
int inicio[]={1,3,0,5,3,5,6,8,8,2,12}; int fim[]={4,5,6,7,8,9,10,11,12,13,14}; int numerodeatividade=11; int ultimoselecionado = 0; int i=0; printf("Aula %d\n",i);
//algoritmo guloso de seleção das atividades for(i=1;i=fim[ultimoselecionado]){//Verificar se o inicio das atividades é maior
//igual ao fim na posicão do último selecionado ultimoselecionado=i; // guarda a posição do último selecionado ou seja melhor
//caso
printf("Aula %d \n",i);
}
} system("PAUSE"); return 0;
}
ATIVIDADE 2
#include
#include int main(int argc, char *argv[])
{
int inicio[]={}; int fim[]={}; int ultimoselecionado=1; int i=0; int atividades=1; printf("Quantas Atividades ? \n"); scanf("%d",&atividades); for(i=0;i=fim[ultimoselecionado]){ // verificar se o inicio e maior ou igual ao
//fim do do horário lembrando que o