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

Используя алгоритм бинарного поиска определите - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Файловые потоки данных http://www.cyberforum.ru/cpp-beginners/thread758180.html
Помогите, пожалуйста! Надо написать программу, которая считывает из файла строки и сохраняет их в другой файл в обратном порядке. Я конечно начала,но думаю уже ошибки да есть( #include "stdafx.h" #include <stdio.h> #include <fstream> #include <conio.h> #include <string.h>
C++ Путем перестановок строк и столбцов (целиком) элемент надо переместить в правый верхний угол подмассива (Перевести программу в c++) program zadanie_5; uses crt; const nn=5; var i, j, imax, jmax, n, k, m: integer; a: array of real; r: real; begin writeln('Задайте количество строк и столбцов'); readln(n); http://www.cyberforum.ru/cpp-beginners/thread758179.html
C++ Задача на Классы. Создать класс треугольник
Прошу пожалуйста помочь составить программу на С++ по задаче: создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр, площадь. Сама не пойму,а завтра нужно сдать( помогите пожалуйста.
C++ Дано натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7
Дано натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7.
C++ Написать класс сверхбольших целых чисел, использовать массив типа char http://www.cyberforum.ru/cpp-beginners/thread758168.html
Задача: написать класс сверхбольших чисел ( нет ограничений на количество цифр ) использовать массив типа char, реализовать основные математические операции. Буду благодарен за любые подсказки и любую помощь. Заранее вам спасибо, очень нужно для зачета
C++ перегрузка [] Есть класс, и почему компилятор выдает ошибку на функции int &operator(int); #ifndef ARRAY1_H #define ARRAY1_H #include <iostream.h> class Array{ friend ostream &operator<<(ostream &, Array &); friend istream &operator>>(istream &, Array &); подробнее

Показать сообщение отдельно
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
10.01.2013, 21:37     Используя алгоритм бинарного поиска определите
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
int bin_search(float x){
   int first = 0; /* Номер первого элемента в массиве */
   int last = n;  /* Номер элемента в массиве, СЛЕДУЮЩЕГО ЗА последним */
                      /* Если просматриваемый участок непустой, first<last */
    int mid; 
 
    if (n == 0)
    {
         return -1;/* массив пуст */
    } 
    else if (a[0] > x)
    {
         return -1; /* не найдено; если вам надо вставить его со сдвигом - то в позицию 0    */
    } 
    else if (a[n - 1] < x)
    {
          return -1;/* не найдено; если вам надо вставить его со сдвигом - то в позицию n    */
    }
 
    while (first < last)
    {
        /* ВНИМАНИЕ! В отличие от более простого (first+last)/2, этот код стоек к переполнениям.
           Если first и last знаковые, возможен код (unsigned)(first+last) >> 1.    */
        mid = first + (last - first) / 2;
 
        if (x <= a[mid])
        {
            last = mid;
        }
        else
        {
            first = mid + 1;
        }
    }
 
    /* Если условный оператор if(n==0) и т.д. в начале опущен - значит, тут раскомментировать!    */
    if (/* last<n &&*/ a[last] == x)
    {
        /* Искомый элемент найден. last - искомый индекс */
        return last;
    } else
    {
        /* Искомый элемент не найден. Но если вам вдруг надо его вставить со сдвигом, то его место - last.    */
     return -1;
    }
 
}
 
Текущее время: 23:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru