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

поиск числа в массиве типа int методом Фибоначчи - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Ван
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 11
22.05.2013, 23:25     поиск числа в массиве типа int методом Фибоначчи #1
расскажите, пожалуйста, на примере.
я вообще не могу понять (
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newyork7776
 Аватар для newyork7776
346 / 339 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
22.05.2013, 23:46     поиск числа в массиве типа int методом Фибоначчи #2
Может тебе сказали найти в масиве числа фибоначи
http://ru.wikipedia.org/wiki/Числа_Фибоначчи
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 <iostream>
#include <math.h>
#include <time.h>
using namespace std;
int vout(int* q, int w)
{   
    for (int i=0; i<w; i++)
{
    cout<<q[i]<<" ";
}
    cout<<"\n";
    return 0;}
int vin(int* mas, int n)
{   
    srand(time(NULL));
    for (int i=0; i<=n; i++)
        mas[i]=rand()%100;
    return 0;
}
int poshyk(int* q,int m,int n)
{
    int k=0;
    for (int i=0;i<n;i++)
    {
        if (q[i]==m)
        {
            k++;
            int t=0;
            t=(i+1);
            cout << "Mesto = " << t << "\n";
        } 
    }
    return 0;
}
int fib(int* q,int n)
{
 
    int a=0,b=1,z=0;
    for (int i=0;i<n;i++)
    {
        z=(a+b);
        poshyk(q,z,n);
        a=b;
        b=z;
    }
 
return 0;
}
 
 
 
 
int main ()
{
    int masss[1000];
    cout << "Enter number (array) = ";
    int v;
    cin >> v;
    cout << "\n";
    vin(masss,v);
    vout(masss,v);
    fib(masss,v);
    system("pause");
}
Ван
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 11
24.05.2013, 22:10  [ТС]     поиск числа в массиве типа int методом Фибоначчи #3
вот пример.
желательно для код блокса...
Миниатюры
поиск числа в массиве типа int  методом Фибоначчи  
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
29.05.2013, 22:55     поиск числа в массиве типа int методом Фибоначчи #4
Ван, по формуле: fibonacci(n - 1) + fibonacci(n - 2)
Ван
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 11
29.05.2013, 22:59  [ТС]     поиск числа в массиве типа int методом Фибоначчи #5
я понимаю, чтобы найти число Фибоначчи, нужно сложить 2 предыдущих.
но я не знаю сам алгоритм поиска... кто-то говорил, что он похож на бинарный.
бинарный - знаю, но чем похож??
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
29.05.2013, 23:01     поиск числа в массиве типа int методом Фибоначчи #6
Ван, что вы подразумеваете под словом "поиск", ввод номера числа по порядку и вывод соответствующего числа Фибоначчи?
Ван
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 11
29.05.2013, 23:12  [ТС]     поиск числа в массиве типа int методом Фибоначчи #7
пример на картинке. только я много там не пойму.
понимаю только до М=2.
Миниатюры
поиск числа в массиве типа int  методом Фибоначчи  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 23:14     поиск числа в массиве типа int методом Фибоначчи
Еще ссылки по теме:

Как найти в массиве минимальный элемент типа int? C++
Перевод десятичного числа в двоичное, результат в массиве типа int C++
Найти числа фибоначчи в заданном диапазоне методом итерации C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ван
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 11
29.05.2013, 23:14  [ТС]     поиск числа в массиве типа int методом Фибоначчи #8
Pascal
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
PROGRAM Find_5; 
{ Фибоначчиев поиск наименьшего индекса заданного элемента } 
{ одномерного "случайного" строго упорядоченного по возрас- } 
{ танию числового массива (рекурсивный вариант) } 
const N=8; { Количество элементов в массиве } 
type Massiv=Array [1..N] of Integer; 
var A : Massiv; { Массив, отсортированный по возрастанию } 
Key : Integer; { Искомый элемент } 
Search: 0..N; { Индекс найденного элемента } 
{ 0, если элемент не найден } 
Mid : Integer; { Индекс внутреннего элемента } 
j,i : Integer; 
F1,F2,t: Integer; 
Finish : Boolean; 
{ ------------------------------------ } 
FUNCTION F_i_b (N: Integer): Integer; 
var F1,F2: Integer; 
BEGIN 
    If (N=0) OR (N=1) then F_i_b:=N else If N>=2 then 
    begin 
        F1:=F_i_b (N-1); 
        F2:=F_i_b (N-2); 
        F_i_b:=F1+F2 
    end 
END; 
{ --- } 
BEGIN 
    Write('Введите массив, отсортированный строго по возрастанию: '); 
    For i:=1 to N do Read(A[i]); 
    Write('Искомый элемент: '); 
    Read(Key); j:=1; 
    While F_i_b(j)<N+1 do j:=j+1; 
    Mid:=N-F_i_b(j-2)+1; 
    F1:=F_i_b(j-2); 
    F2:=F_i_b(j-3); 
    Finish:=FALSE; 
    While (Key<>A[Mid]) AND (Finish=FALSE) do If (Mid<=0) OR (Key>A[Mid]) then If F1=1 then Finish:=TRUE else 
    begin 
        Mid:=Mid+F2; 
        F1:=F1-F2; 
        F2:=F2-F1 
    end 
    else If F2=0 then Finish:=TRUE else 
    begin 
        Mid:=Mid-F2; 
        t:=F1-F2; 
        F1:=F2; 
        F2:=t 
    end; 
    If Finish then Search:=0 else Search:=Mid; 
    WriteLn('Индекс искомого элемента в массиве: ',Search)
END.
Yandex
Объявления
29.05.2013, 23:14     поиск числа в массиве типа int методом Фибоначчи
Ответ Создать тему
Опции темы

Текущее время: 11:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru