Primeiro mês de aula e cá estamos com nossa primeira atividade avaliativa. A atividade consta na construçao de um menu de opções para prepararmos nosso ambiente para ordenar um vetor de N posições usando os algoritmos de ordenaçao de Inserção e Bolha. Além disso, temos como tarefa medir o tempo de execução desses algoritmos, e produzir uma análise de qual dos dois algoritmos testados é mais eficiente. Então os passos são os seguintes:
01 - Fazer um menu que possua as seguintes opções:
Olá, eu tentei fazer, fiz em C tem algum problema?
#include<stdio.h>#include<stdlib.h>#include<time.h>#defineMAX500voidpopularVetor(int*vetor){inti;for(i=0;i<MAX;i++){vetor[i]=rand()%MAX;}}intimprimirVetor(int*vetor){inti;for(i=0;i<MAX;i++){printf("\n%d",vetor[i]);}}voidordenaBolha(int*vetor){inti,j,tmp;for(i=0;i<MAX;i++){for(j=i+1;j<MAX;j++){if(vetor[j]<vetor[i]){tmp=vetor[i];vetor[i]=vetor[j];vetor[j]=tmp;}}}imprimirVetor(vetor);}voidordenaInsercao(int*vetor){inti,j,aux;for(i=1;i>MAX;i++){j=i;while((j!=0)&&(vetor[j]>vetor[j - 1])){aux=vetor[j];vetor[j]=vetor[j - 1];vetor[j - 1]=aux;j--; }}imprimirVetor(vetor);}intmain(){intop,vetor[MAX],i;time_tt;clock_tstart_t_inser,end_t_inser,total_t_inser,start_t_bolha,end_t_bolha,total_t_bolha;srand((unsigned)time(&t));do{printf("\n01 - Preencher vetor de 500 posições com 500 elementos aleatórios""\n02 - Ordenar e imprimir o vetor com o metodo da Bolha""\n03 - Ordenar e imprimir o vetor com o método de Inserção""\n04 - Comparar e imprimir tempo de execução dos dois métodos""\n05 - Sair""\nEscolha uma das opcoes listadas a cima:");scanf("%d",&op);switch(op){case1:popularVetor(vetor);break;case2:start_t_bolha=clock();ordenaBolha(vetor);end_t_bolha=clock();total_t_bolha=(double)(end_t_bolha-start_t_bolha);break;case3:start_t_inser=clock();ordenaBolha(vetor);end_t_inser=clock();total_t_inser=(double)(end_t_inser-start_t_inser);break;case4:if(total_t_bolha>total_t_inser)printf("Metodo insercao foi mais rapido");elseprintf("Metodo bolha foi mais rapido");break;case5:return0;break;default:return0;break;}}while(op!=5);return0;}
Se tiver algo de errado é só me dizer que eu te ajudo
F
Fefo80
Na realidade a ideia é sempre ajudar a esclarecer as dúvidas, para ajudar no processo de crescimento e aprendizagem das pessoas.
Já viu a quantidade imensa de pessoas que vêm aqui e só postam os enunciados de suas questões? (Ou, como no caso, de uma prova!)