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

бинарный поиск по интервалу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Логическая задача на переливание жидкостей http://www.cyberforum.ru/cpp-beginners/thread557515.html
Даны 3 стакана: 1 - й вмещает 7 литров, 2-й вмещает 5 литров, 3-й вмещает 12 литров. Первые 2 стакана пусты, в третьем 12 литров воды. Воду можно переливать из одного стакана в другой до опустошения...
C++ Вызов из разных потоков функции чтения из файла, dll Доброго времени суток. Помогите пожалуйста написать программу, вот задание: Вызов из разных потоков функции чтения из файла. Функция находится в dll динамическое подключение . Функция чтения:... http://www.cyberforum.ru/cpp-beginners/thread557504.html
Задача на двумерный массив C++
Найти максимальный элемент матрицы
C++ работа с файлами
1. Написать программу, которая создает файл и записывает в него 5 введенных пользователем целых чисел, при чем каждое число должно находиться в отдельной строке.(без использования файловых потоков)...
C++ Считывание строки из файла. http://www.cyberforum.ru/cpp-beginners/thread557497.html
Появилась проблема. Строка из файла считывается, но не реагирует на пробелы. И не находит конец строки. #include <fstream> #include<iostream> using namespace std; int main(){ char s; ifstream...
C++ Даны целые числа a1, a2, a3. Получить целочисленную матрицу [ by]i, j= 1,2,3 для которой bij= ai - 3aj Даны целые числа a1, a2, a3. Получить целочисленную матрицу i, j= 1,2,3 для которой bij= ai - 3aj подробнее

Показать сообщение отдельно
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,279
Записей в блоге: 1
24.04.2012, 21:24
C++
1
2
3
4
5
6
7
8
9
10
int Search1(data *list, int left,int right, int target){
 //ща напишу
 if (target==list[left]) return left;
 if (target==list[right]) return right;
 if (left==right) return -1;
 int mid=(left+right)/2;
 if (list[mid]>=target) return Search1(list, left, mid, target);
 else
 return Search1(list, mid+1, right, target);
}
Добавлено через 11 минут
или итерациями.
C++
1
2
3
4
5
6
7
8
9
10
11
int Search2(data *list, int n, int target){
 int left=0, right=n-1, mid;
 while (left<right){
  if (list[left]==target) return left;
  if (list[right]==target) return right;
  mid=(left+right)/2;
  if (list[mid]<target) left=mid;
  else right=mid;
 }
 return -1;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru