Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 29.04.2010
Сообщений: 46

Удалить из массива числа Фибоначчи

05.11.2010, 00:20. Показов 2142. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
программа должна удалять из массива числа фибоначчи.


проблема в том, что она запоминает последнее число из ряда и сравнивает исходный массив с этим числом, а не со всем рядом фибоначчи. как решить проблему, подскажите, пожалуйста.



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
# include <iostream.h>
# include <stdlib.h>
# include <conio.h>
 
int i, j;
 
int fibonacci (int n, int a[100])
{
int w, b, q, c, k;
int r[100], t[100];
w=1;
b=1;
q=0;
 
 for (i=0; i<=n; i++)
    {
c=w+b;
w=b;
b=c;
t[j]=b;
  cout << t[j] << " " << endl;
    }
    for (i=0; i<n; i++)
    {
        if (a[i]!=t[j])
        {
        r[k]=a[i];
        cout << r[k] << " ";
        k++;
        q=1;
        }
    }
 
cout << endl;
    if (q==0)
     cout <<"V ryade net chisel Fibonacci" << endl;
return 0;
}
 
void main ()
{
clrscr();
int n;
int a[100];
cout <<"\nEnter the size of array: ";
cin >> n;
    for (i=0; i<n; i++)
     {
     a[i]=rand()%30+5;
     cout << a[i] << " ";
     }
cout << endl;
fibonacci (n, a);
getch();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2010, 00:20
Ответы с готовыми решениями:

По заданному числу Фибоначчи найти предыдущее и следующее числа Фибоначчи
Дано целое число N(&gt;1), которое является числом Фибоначчи: N=Fk. Найти целые числа Fk-1 и Fk+1 -...

Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду Фибоначчи
Помогите с задачкой Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а...

По заданному числу Фибоначчи найти предыдущее и следующее числа Фибоначчи
Дано целое число N(&gt;1), которое является числом Фибоначчи: N=Fk. Найти целые числа Fk-1 и Fk+1 -...

3
6 / 6 / 0
Регистрация: 05.11.2010
Сообщений: 60
05.11.2010, 04:58
Имеем исходный массив data[], ОДЗ = min .. max;
Если величина допустимых значений элементов массива data[] невелика (например byte или short) то можно каждое значение проверять по массиву isFib[index], так, что index = data[i] - min;
Массив isFib[] содержит для каждого index значение true если index число фибоначи, иначе false.
Такое себе хеширование получается.
Это решение требует N * (max - min) памяти.
Количество памяти можно сократить используя более сложное хеширование.
Чуть не забыл - главное достоинство алгоритма это его сложность О*n + инициализация массива isFib.
1
1 / 1 / 0
Регистрация: 29.04.2010
Сообщений: 46
05.11.2010, 18:09  [ТС]
Цитата Сообщение от Zilon Посмотреть сообщение
Имеем исходный массив data[], ОДЗ = min .. max;
Если величина допустимых значений элементов массива data[] невелика (например byte или short) то можно каждое значение проверять по массиву isFib[index], так, что index = data[i] - min;
Массив isFib[] содержит для каждого index значение true если index число фибоначи, иначе false.
Такое себе хеширование получается.
Это решение требует N * (max - min) памяти.
Количество памяти можно сократить используя более сложное хеширование.
Чуть не забыл - главное достоинство алгоритма это его сложность О*n + инициализация массива isFib.
как-то сложно вы объясняете

вообщем вот код, может кому-то понадобиться.
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
65
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
 
int i, j;
int fibonacci (int, int [100]);
 
void main()
{
clrscr();
int a[100];
int n;
cout <<"Vvedite kol-vo elementov massiva" << endl;
    cin>>n;
cout <<"Ishodniy massiv: ";
    for (i=0;i<n;i++)
    {
    a[i]=rand()%30+5;
    cout<<a[i]<<" ";
    }
fibonacci (n, a);
getch();
}
 
int fibonacci (int n, int a[100])
{
int q[100];
int max, w, b, c;
max=a[0];
    for (i=1;i<n;i++)
    {
    if (max<a[i])
     max=a[i];
    }
w=0;
b=1;
    for (i=0;b<=max;i++)
       {
       c=w+b;
       w=b;
       b=c;
       q[i]=b;
       }
cout << endl;
cout << endl;
cout << "Ryad Fibonacci: ";
    for (j=0;j<i;j++)
      cout<< q[j] << " ";
 
     for (i=0;i<max;i++)
        for (j=0;j<n;j++)
            if (q[i]==a[j])
            {
            for (b=j;b<n-1;b++)
             a[b]=a[b+1];
             n=n-1;
             j--;
            }
cout << endl;
cout << endl;
cout <<"Noviy massiv: ";
    for (i=0;i<n;i++)
        cout<<a[i]<<" ";
return 0;
}
1
6 / 6 / 0
Регистрация: 05.11.2010
Сообщений: 60
05.11.2010, 18:17
Цитата Сообщение от LAans Посмотреть сообщение
как-то сложно вы объясняете
Последние дни малость Кнута перечитал. Видать математика - это заразно ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2010, 18:17
Помогаю со студенческими работами здесь

Удалить из массива все числа Фибоначчи, используя функции
2)Удалить из массива все числа Фибоначчи, используя функции, результат вывести на печать.(При...

Определить 40-е число Фибоначчи; найти первое число Фибоначчи, большее m
1ое задание: Числа Фибоначчи определяются формулами f0 =f1 = 1; fn = fn-1 + fn-2 при n =2,3,…...

Фибоначчи: 1202 Итальянский математик Леонард Фибоначчи предложил следующую задачу: (F0 = 0, F1 = 1, Fn = Fn-1 + Fn-2,
Фиббоначи: 1202 Итальянский математик Леонард Фиббонакки предложил следующую задачу: (F0 = 0, F1 =...

Числа Фибоначчи, простые числа и делители
Write a menu() function that prints the following menu and returns the selected choice: 1....

Составьте программу, позволяющую найти все числа Фибоначчи, меньшие заданного числа N
Помогите, пожалуйста. Вот сама задача: Пара кроликов каждый месяц дает приплод – двух кроликов...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru