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

Поиск методом золотого сечения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отобразить количество используемой динамической памяти http://www.cyberforum.ru/cpp-beginners/thread824457.html
С помощью средств мониторинга реализовать следующий функционал проги: 1. отобразить кол-во используемой дин. памяти перед объявлением дин. массивов и переменных. 2. отобразить кол-во используемой дин. памяти занятой дин. перем-и после исп. и обработки. 3. отобразить кол-во используемой дин. памяти после освобо-я дин. массивов и перем-ых.
C++ Линейный поиск в числовом массиве с барьером и без барьера по числовому ключу Линейный поиск в числовом массиве с барьером и без барьера по числовому ключу. Не могу понять почему ругается на поиск с барьером. Помогите разобраться. // lab4.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread824447.html
Ошибка линковки - error LNK2019: ссылка на неразрешенный внешний символ C++
Что может быть не так? есть файл test.h #ifndef _T_ #define _T_ template<class T> class test { //.... };
C++ ФУНКЦИИ с ПАРАМЕТРАМИ. Сотворить три новые матрицы делением каждого элемента выходной матрицы на середнее арифметичное её элементов
Добрый вечер! Дано матрицы А(4,5), Y (5,3), С(4,6). Сотворить три новые матрицы делением каждого элемента выходной матрицы на середнее арифметичное её элементов. Введение, выведение и смену матриц оформить у виде функций. спасибо!!!!!!!!!!!
C++ Адрес функции http://www.cyberforum.ru/cpp-beginners/thread824410.html
Здравствуйте. Имеется программа с одной функцией. При любом изменении кода и повторной компиляции изменяется адрес этой функции. Можно ли сделать так, чтобы он не изменялся? Если нельзя, то следующий вопрос... Вот эта программа: #include <stdio.h> #include <conio.h> #include <stdlib.h> void vulnerable(char* p, int n) {
C++ Создать одномерный массив, в котором находятся повторяющиеся элементы двух известных массивов #include <stdio.h> #include <conio.h> #define max 100 main() { unsigned M1,M2,M3,i,j=0,n; printf("n="); scanf("%i",&n); for(i=0;i<n;i++) { подробнее

Показать сообщение отдельно
hoob
19 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1

Поиск методом золотого сечения - C++

01.04.2013, 01:57. Просмотров 2489. Ответов 8
Метки (Все метки)

Здравствуйте, вот задался целью написать поиск в большом массиве, с помощью метода золотого сечения:
вернуть функция должна номер элемента в массиве, если он там есть, -1, в случае, если элемент попадает в нужный мне диапазон и -2, если он совсем мне не нужен. Но искать элементы он отказывается: все время возвращает либо -1, либо -2


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
int MainWindow::searchId(vector<node> *nodeVector, unsigned int searchValue){
    if( (searchValue>nodeVector->at(0).id) && (searchValue<nodeVector->at(nodeVector->size()-1).id) ){
        unsigned int x1,x2,y1,y2,a,b;
        double alpha,beta;
        a=0;
        b=nodeVector->size()-1;
        alpha=(sqrt(5)-1)/2;
        beta=(3-sqrt(5))/2;
        x1=alpha*a+beta*b;
        x2=beta*a+alpha*b;
        y1=nodeVector->at(x1).id-searchValue;
        y2=nodeVector->at(x2).id-searchValue;
        while( ((a-b)>2) && ((a-b)>-2)){
            if(y1<y2){
                b=x2;
                x2=x1;
                y2=y1;
                x1=alpha*a+beta*b;
                y1=nodeVector->at(x1).id-searchValue;
            }
            else{
                a=x1;
                x1=x2;
                y1=y2;
                x2=beta*a+alpha*b;
                y2=nodeVector->at(x2).id-searchValue;
            }
        }
        if(nodeVector->at((a+b)/2).id==searchValue)
            return (a+b)/2;
        else
            return -1;
    }
    else
        return -2;
 
}

по идее, ищется же минимум функции y-searchValue
+ Входной массив отсортирован по возрастанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru