ATPS Classificação e Pesquisa
Por: Matheus Portugal • 3/5/2015 • Trabalho acadêmico • 757 Palavras (4 Páginas) • 393 Visualizações
Etapa 1
Passo 3
#include
#include
struct residencia{
char rua[25];
int numcasa;
int nummedidor;
int medconsumo;
}vetResidencias[1000];
int RandomInterger(int low, int high){
int k;
double d;
d = (double) rand() / ((double) RAND_MAX + 1);
k = d * (high - low + 1);
return low + k;
}
Pesqsequencial(struct residencia medconsumo, int tamanho, int chave){
int i=1;
for(i; i<=1000; i++){
if(vetResidencias[i].medconsumo == chave){
printf("\n\nRua: %s", vetResidencias[i].rua );
printf("\nCasa Numero: %d\n", vetResidencias[i].numcasa);
printf("Numero do medidor: %d\n", vetResidencias[i].nummedidor);
printf("Medida do consumo: %d\n\n", vetResidencias[i].medconsumo);
}
}
return 0;
}
Pesqbinaria(struct residencia medconsumo, int tamanho, int chave){
int mini=0;
int maxi;
int meio;
maxi = (1000-1);
while(mini<=maxi){
meio = (mini + maxi)/2;
if(chave < vetResidencias[meio].medconsumo){
maxi = meio -1;
}else{
if(chave > vetResidencias[meio].medconsumo){
mini = meio + 1;
}else{
return meio;
}
}
return -1;
}
}
int RandomInterger(int low, int high);
int Pesqsequencial(struct residencia medconsumo, int tamanho, int chave);
int Pesqbinaria(struct residencia medconsumo, int tamanho, int chave);
int main(){
int l=1;
int h=1000;
int i=1;
int chave=0;
for(i; i<=1000; i++){
vetResidencias[i].medconsumo = RandomInterger(l, h);
printf("\nRua: %s\n", vetResidencias[i].rua );
printf("Casa Numero: %d\n", vetResidencias[i].numcasa);
printf("Numero do medidor: %d\n", vetResidencias[i].nummedidor);
printf("Medida do consumo: %d\n\n", vetResidencias[i].medconsumo);
}
printf("Digite o valor procurado: ");
scanf("%d", &chave);
int op;
printf("\n\n1 - Pesquisa Sequencial\n");
printf("2 - Pesquisa Binaria\n");
...