#include #define TAM 24 char *vetor[] = { "ana", "beatriz", "carla", "denise", "eliane", "fatima", "gisa", "helena", "isabel", "joana", "katia", "lia", "maria", "naira", "olivia", "paula", "quenia", "rosana", "silvia", "tais", "ulma", "vitoria", "xuxa", "zina" }; int main( int argc, char *argv[]) { int i, f, m, x, numcomp; if( argc != 2 ) { printf("binaria \n"); exit(); } numcomp = 0; i = 0; f = TAM - 1 ; while( i <= f ) { m = ( i + f ) / 2; x = strcmp(argv[1],vetor[m]); ++numcomp; if( x==0 ) { printf("Encontrou %s como elemento %d apos %d comparacoes\n", argv[1], m, numcomp); exit(); } else if( x < 0 ) f = m - 1; else i = m + 1; } printf("Nao encontrou %s apos %d comparacoes\n", argv[1], numcomp); return 0; }