ode in C.  Solve the code below.  write a function that receives a vector of integers already sorted in ascending order, an integer n represents the number of elements in this vector, and an integer b. Implement the sequential search algorithm to look for the integer b in the vector. The binary search works as follows: you must look for the element in the position exactly in the half of the vector, if for the searched it returns the number of tests done so far, if not for the searched, calculate the midpoint of the half of the vector after assess whether the searched value is greater or less than the value at the middle position. Not finding the value searched, the function must return 0. The name of the function will be called "busca_bin". int busca_bin (int vetor [ ], int n, int b) { // your code }     My code #include     int busca_bin(int vetor[] , int n , int a) {        int s1 = 0;     int s2 = n-1;     int pass = 0;     int s3;            while(s1a)             s2 = s3 - 1;         else             s1 = s3 + 1;                                 int vetor[] = {1,2,3,4,5},n=5,b,x;     scanf("%d",&b);     x = busca_bin(vetor,n,b);     printf("%d",x);     return 0;     }    return 0;    }

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter8: Arrays
Section: Chapter Questions
Problem 11RQ
icon
Related questions
Question

Code in C. 

Solve the code below. 

write a function that receives a vector of integers already sorted in ascending order, an integer n represents the number of elements in this vector, and an integer b. Implement the sequential search algorithm to look for the integer b in the vector. The binary search works as follows: you must look for the element in the position exactly in the half of the vector, if for the searched it returns the number of tests done so far, if not for the searched, calculate the midpoint of the half of the vector after assess whether the searched value is greater or less than the value at the middle position. Not finding the value searched, the function must return 0. The name of the function will be called "busca_bin".

int busca_bin (int vetor [ ], int n, int b)
{
// your code
}

 

 

My code

#include <stdio.h>

 

 

int busca_bin(int vetor[] , int n , int a)

{

  

    int s1 = 0;

    int s2 = n-1;

    int pass = 0;

    int s3;

   

  

    while(s1<s2)

    {

        s3 = (s1+s2)/2;

        pass++;

       

        if(vetor[s3]==a)

            return pass;

        else if(vetor[s3]>a)

            s2 = s3 - 1;

        else

            s1 = s3 + 1;

           

           

   

    int vetor[] = {1,2,3,4,5},n=5,b,x;

    scanf("%d",&b);

    x = busca_bin(vetor,n,b);

    printf("%d",x);

    return 0;

    }   

return 0;

   }

   

For example:
Test
Input Result
int vetor[]={1,2,3,4,5}, n=5, b, x; 3
scanf("%d" , &b);
x=busca_bin(vetor,n,b);
printf("%d",x);
int vetor[]={1,2,3,4,5}, n=5, b, x; 5
3
scanf("%d", &b);
x=busca_bin(vetor,n,b);
printf("%d", x);
int vetor[]={1,2,3,4,5}, n=5, b, x; 6
scanf ("%d", &b);
x=busca_bin(vetor,n,b);
printf("%d", x);
Transcribed Image Text:For example: Test Input Result int vetor[]={1,2,3,4,5}, n=5, b, x; 3 scanf("%d" , &b); x=busca_bin(vetor,n,b); printf("%d",x); int vetor[]={1,2,3,4,5}, n=5, b, x; 5 3 scanf("%d", &b); x=busca_bin(vetor,n,b); printf("%d", x); int vetor[]={1,2,3,4,5}, n=5, b, x; 6 scanf ("%d", &b); x=busca_bin(vetor,n,b); printf("%d", x);
Test
Input Expected Got
int vetor[]={1,2,3,4,5}, n=5, b, x; 3
1
1
scanf("%d", &b);
x=busca_bin(vetor,n,b);
printf("%d",x);
int vetor[]={1,2,3,4,5}, n=5, b, x; 5
3
***Error***
scanf("%d", &b);
Segmentation fault
x=busca_bin(vetor,n,b);
printf("%d",x);
Transcribed Image Text:Test Input Expected Got int vetor[]={1,2,3,4,5}, n=5, b, x; 3 1 1 scanf("%d", &b); x=busca_bin(vetor,n,b); printf("%d",x); int vetor[]={1,2,3,4,5}, n=5, b, x; 5 3 ***Error*** scanf("%d", &b); Segmentation fault x=busca_bin(vetor,n,b); printf("%d",x);
Expert Solution
steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,