Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Бинарный поиск - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ одномерный массив http://www.cyberforum.ru/cpp-beginners/thread145291.html
помогите решить одномерный массив по С++ , нужно по практике. Дан массив действительных чисел. Среди них есть равные. Найти его первый максимальный элемент и заменить его нулем
C++ Функция переноса помогите написать функцию, которая переносила бы последний элемент списка на первое место. http://www.cyberforum.ru/cpp-beginners/thread145268.html
C++ Движение объекта (графика)
Использую: Visual Studio 2008, TXLib(графическая библиотека). Проблема: Нужно заставить двигаться объект так, чтобы при движении он изменялся в соответствии с заданной функцией. Конкретно в этой...
C++ Работа с битами
здравствуйте! подскажите пожалуйста как решить задачу необходимо разработать 2 функции • функцию, решающую задачу с использованием только логических операций (функция1); • функцию, решающую...
C++ масивы http://www.cyberforum.ru/cpp-beginners/thread145246.html
Помогите решить срочно нада практику здать можна на с++ В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1,...
C++ Сжать массив, удалив из него все элементы, модуль которых не превышает 1 Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями. подробнее

Показать сообщение отдельно
iYoung
1 / 1 / 0
Регистрация: 06.10.2009
Сообщений: 24

Бинарный поиск - C++

14.06.2010, 14:27. Просмотров 1024. Ответов 4
Метки (Все метки)

Добрый день , возникла проблема с бинарным поиском . Я его просто нашел в интернете и вставил в программу не много отредактировав . Вобщем бинарный поиск не работает , прошу помочь . Спасибо


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include<conio.h>
 
void BSort (int* A,int N)
{//Puzirkovii metod
int temp;
 for(int i=0; i<N-1; i++)
 for(int j=0; j<N-1-i; j++)
  if(A[j]>A[j+1])
   {
     temp=A[j];
     A[j]=A[j+1];
     A[j+1]=temp;
    }
}
 
void PrArr (int* A,int N)
{//Vivod elementov massiva
for(int i = 0; i < N; i++)
 printf("%d ", A[i]);
 printf("\n");
};
 
int BinSearch(int* A, int N, int a)
 {
  int x, l, p, centr;
  //Binarnii poisk
 
  l=0;
  p=N;
  do {
      centr=(l+p)/2;
      if (a<=A[centr]) p=centr;
      if (a>A[centr]) l=centr+1;
     }
  while (l!=p);
  if (A[p]==a) return p;
    else return -1;
 };
 
int main(void)
{
int N,A[100],i,a;
printf("Input size of array: \nn = ");
scanf("%d", &N);
srand((unsigned)time(NULL));
for(i = 0; i < N; i++)
A[i] = (int)(rand() % (N+1));
printf("Vvedennii massiv: \n");
PrArr(A, N);
BSort(A,N);
PrArr (A,N);
printf("\nVvedite chislo dlya poiska: \nN = ");
scanf("%d");
int ix = BinSearch(A,N,a);
 if (ix==-1) printf("\nElement ne naiden\n ");
 else printf("\nIndex elementa\n",ix);
delete [] A;
system ("pause");
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru