int buscab (int l, int r, char *pal) { int mid; if (l == r) return l - (strcmp (dic[l], pal) > 0); mid = (l + r + 1) / 2; if (strcmp (dic[mid], pal) <= 0) return buscab (mid, r, pal); else return buscab (l, mid - 1, pal); }
int buscab(int ini, int fim, int encomenda){ int mid = (ini + fim)/2; if (casas[mid] == encomenda) return mid; else if (casas[mid] > encomenda) return buscab(ini,mid-1,encomenda); else if (casas[mid] < encomenda) return buscab(mid+1,fim,encomenda); else if (fim < ini) return -1; }
int buscab(int ini, int fim, int voltou){ int mid = (ini + fim)/2; if(merg[mid] == voltou) return mid; else if(merg[mid] > voltou) return buscab(ini, mid -1, voltou); else if(merg[mid] < voltou) return buscab(mid +1, fim, voltou); else return MAX; }
int main(){ int n,m,encomenda,i,carteiro,ini,fim,tempo,prox; while(scanf("%d %d",&n,&m) != EOF){ ini = 0; fim = n; for(i = 0; i < n; i++){ scanf("%d",&casas[i]); } carteiro = tempo = 0; for(i = 0; i < m; i++){ scanf("%d",&encomenda); prox = buscab(ini,fim,encomenda); tempo += abs(prox - carteiro); carteiro = prox; } printf("%d\n",tempo); } return 0; }
main() { int *v; int num,n,i; puts("Digite a quantidade de elementos do vetor"); scanf("%d",&n); v=(int*)malloc(n*sizeof(int)); puts("Digite os elementos do vetor"); for(i=0;i<n;i++) { printf("\nv[%d]= ",i); scanf("%d",&v[i]); } puts("Digite o elemento a ser buscado"); scanf("%d",&num); puts("------------------------------------"); if(buscab(v,n,num)) puts("Elemento encontrado!"); else puts("Elemento não encontrado!"); }
int main(){ int n,r,voltou,vivos[MAX],i; while(scanf("%d %d",&n,&r) != EOF){ for(i = 0; i < n; i++){ merg[i] = i+1; vivos[i] = i+1; } for(i = 0; i < r; i++){ scanf("%d",&voltou); vivos[buscab(0,n,voltou)] = 0; } if(n == r) printf("*"); else { for(i = 0; i < n; i++){ if(vivos[i]) printf("%d ",vivos[i]); } } printf("\n"); } return 0; }