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;    }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Step 1

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 is given below:-

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education