Бинарный поиск - C (СИ) (70554)

Узнай цену своей работы

Формулировка задачи:

Добрый день, пытаюсь реализовать бинарный поиск, но никак не получаеться. Подскажите в чем может быть проблема?
#include <stdio.h>
#include <cs50.h>
#include <ctype.h>
 
int main(void)
{
bool search(int,int[],int);
int values[] = {1,2,3,4,5,6,7,8,9,10};
printf("Enter the number which you want to find:");
int value = getchar();
int n = sizeof(values) / sizeof(values[0]);
bool score = search(value, values, n);
if(score == true){
printf("The number is here\n");
}
else{
printf("The nubmer isn't here\n");
}
}
 
bool search (int value, int values[], int n)
{
int lower = 0;
int upper = n-1;
    while(lower <= upper)
    {
    int middle = (lower + upper)/2;
    if(values[middle] == value)
    {
        return true;
    }
    if(values[middle] > value)
    {
     upper = middle - 1;
    }
     if(values[middle] < value)
    {
        lower = middle + 1;
    }
    }
    return false;
}

Решение задачи: «Бинарный поиск»

textual
Листинг программы
int value = getchar();

Объяснение кода листинга программы

  1. Вводится значение переменной value с помощью функции getchar.
  2. Значение переменной value используется для выполнения операций в коде.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы