Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/32: Рейтинг темы: голосов - 32, средняя оценка - 4.94
1 / 1 / 1
Регистрация: 04.10.2014
Сообщений: 38
1

Заполнение массива числами Фибоначчи

20.10.2014, 13:37. Просмотров 6649. Ответов 18
Метки нет (Все метки)

Ряд чисел Фибоначчи задается следующим образом: первые два числа равны 1 ( F 1 = F 2 = 1 ), а каждое следующее равно сумму двух предыдущих: F i = F i - 1 + F i - 2 . Напишите программу, которая вводит натуральное число N и заполняет массив из N элементов первыми N числами Фибоначчи.

Входные данные
Входная строка содержит размер массива N . Гарантируется, что 0 < N ≤ 40 .

Выходные данные
Программа должна вывести содержимое массива: первые N чисел Фибоначчи.
Примеры
входные данные
5
выходные данные
1 1 2 3 5
----------
у меня так, но не работает(
в чем ошибка?
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
#include <iostream>
 
using namespace std;
 
int main ()
{
 
   int a[100];
   a[0] = 1;
   a[1] = 1;
   a[2] = 2;
 
   int i = 3;
 
   int m=0, n;
 
   cin  >> n;
 
   while (a[i-1] < n)
   {
      a[i] = a[i-2] + a[i-1];
 
      i++;
   }
 
   for (int j = 1; j < i; j = j + 2)
      a[j] += m;
 
   for (int j = 0; j < i; j++)
      cout << a[j] << " ";
 
 
   return 0;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2014, 13:37
Ответы с готовыми решениями:

Продублировать элементы массива, являющиеся числами Фибоначчи
Задание : Продублировать элементы, являющиеся числами Фибоначчи;

Записать в файл те элементы массива, которые являются числами Фибоначчи
Написать программу, которая заполняет линейный массив, размер которого задается с клавиатуры,...

Вывести элементы массива, порядковые номера которых являются числами Фибоначчи
Дано целочисленный массив. Вывести те его элементы, порядковые номера которых являются числами...

Заполнение массива числами
Здравствуйте, есть набор чисел (3, 3.5, 4 ,4.5, 5) требуется заполнить массив который...

18
36 / 36 / 25
Регистрация: 30.10.2013
Сообщений: 211
20.10.2014, 13:42 2
Не работает, в смысле не компилицо или алгоритм не верный?
0
6909 / 5974 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
20.10.2014, 13:43 3
Вот всё заполнение:
C++
1
2
3
4
5
int a[40], n;
a[0] = 1;
a[1] = 1;
cin >> n;
for(int i = 2; i < n; i++) a[i] = a[i - 2] + a[i - 1];
Вывод сам добавь.
Ты хоть книжку-то открывал?
1
1 / 1 / 1
Регистрация: 04.10.2014
Сообщений: 38
20.10.2014, 13:44  [ТС] 4
Код прошел лишь 2 теста
выводит не то что нужно
1
36 / 36 / 25
Регистрация: 30.10.2013
Сообщений: 211
20.10.2014, 13:48 5
nmcf, все так =)

Добавлено через 1 минуту
kruglov1, Ошибка здесь
C++
1
2
3
4
5
6
while (a[i-1] < n)
   {
      a[i] = a[i-2] + a[i-1];
 
      i++;
   }
и с выводом у тебя что-то слишком сложное.
0
1 / 1 / 1
Регистрация: 04.10.2014
Сообщений: 38
20.10.2014, 13:48  [ТС] 6
Цитата Сообщение от nmcf Посмотреть сообщение
1] = 1;
cin >>
На этом сайте задачка. http://informatics.mccme.ru/mo... d=112276#1
Проходит лишь 2 теста из 21.
Я хз как решить(
0
36 / 36 / 25
Регистрация: 30.10.2013
Сообщений: 211
20.10.2014, 13:50 7
kruglov1, Тебе уже решение написали.
0
1 / 1 / 1
Регистрация: 04.10.2014
Сообщений: 38
20.10.2014, 13:51  [ТС] 8
Цитата Сообщение от kruglov1 Посмотреть сообщение
Код прошел лишь 2 теста
выводит не то что нужно
Мне то нужно ввести n и вывести n элементов последовательности Фибоначчи.
А выводит больше, чем нужно или вообще не то
0
6909 / 5974 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
20.10.2014, 13:52 9
C++
1
for(int i = 0; i < n; i++) cout << a[i] << " ";
0
36 / 36 / 25
Регистрация: 30.10.2013
Сообщений: 211
20.10.2014, 13:53 10
ох.....тебе же сказали,только вывод подставить....
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main ()
{
 
   int a[40], n;
a[0] = 1;
a[1] = 1;
cin >> n;
for(int i = 2; i < n; i++) a[i] = a[i - 2] + a[i - 1];
 
   for (int j = 0; j < n; j++)
      cout << a[j] << " ";
 
 system("PAUSE");
   return 0;
 
}
0
1 / 1 / 1
Регистрация: 04.10.2014
Сообщений: 38
20.10.2014, 13:57  [ТС] 11
Цитата Сообщение от Kverter Посмотреть сообщение
ох.....тебе же сказали,только вывод подставить....
на сайте этот код лишь 1 тест из 21 прошел...
Сейчас вообще не понял, как так?))
код проверил, рабочий. Но сайт не принимает
0
Форумчанин
Эксперт CЭксперт С++
8159 / 5007 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
20.10.2014, 14:08 12
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    const unsigned int A[40] = {1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,
        377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025,
        121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887,
        9227465, 14930352, 24157817, 39088169, 63245986, 102334155};
    int x;
    std::cin >> x;
    std::cout << A[x-1];
}
0
36 / 36 / 25
Регистрация: 30.10.2013
Сообщений: 211
20.10.2014, 14:16 13
MrGluck, хД
0
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 4
01.03.2015, 22:56 14
Эмм... Попробуй подставить 1 или 0 у тебя код не будет работать. В этой задаче нужно условие еще подставить.

Добавлено через 33 секунды
в смысле код рабочий, но ответ не верно выведет.

Добавлено через 5 минут
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[40], x;
    cin >> x;
    a[0] = 1;
    a[1] = 1;
    if (x == 0) { cout << 0; }
    if (x == 1) { cout << 1; }
    if (x != 0 && x != 1){
        cout << a[0] << " " << a[1] << " ";
        for (int i = 2; i < x; i++)
        {
            a[i] = a[i - 1] + a[i - 2];
            cout << a[i] << " ";
        }
    }
   
    system("pause");
    return 0;
}
0
41 / 41 / 26
Регистрация: 24.02.2015
Сообщений: 151
02.03.2015, 08:57 15
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int N;
    std::cin >> N;
    for(int i = 1; i <= N; ++i) std::cout << i << " ";
    return 0;
}
0
Модератор
Эксперт С++
9803 / 8364 / 5092
Регистрация: 18.12.2011
Сообщений: 22,374
02.03.2015, 11:05 16
MakeEasy, А какое отношение Ваш код имеет к числам Фибоначчи?
0
41 / 41 / 26
Регистрация: 24.02.2015
Сообщений: 151
02.03.2015, 11:10 17
Цитата Сообщение от zss Посмотреть сообщение
MakeEasy, А какое отношение Ваш код имеет к числам Фибоначчи?
Никакого, как и задача по ссылке у автора.
0
Модератор
Эксперт С++
9803 / 8364 / 5092
Регистрация: 18.12.2011
Сообщений: 22,374
02.03.2015, 12:18 18
Цитата Сообщение от MakeEasy Посмотреть сообщение
Никакого, как и задача по ссылке у автора.
У ТС есть такой код
while (a[i-1] < n)
{
a[i] = a[i-2] + a[i-1];
i++;
}
0
41 / 41 / 26
Регистрация: 24.02.2015
Сообщений: 151
02.03.2015, 12:38 19
zss
Цитата Сообщение от kruglov1 Посмотреть сообщение
На этом сайте задачка. http://informatics.mccme.ru/mo... d=112276#1
Проходит лишь 2 теста из 21.
Я хз как решить(
Я про это, там не фибоначчи
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2015, 12:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Заполнение массива случайными числами
Подскажите пожалуйста, как заполнить массив случайными числами в div-C++? Программа выдает ошибку=(...

Заполнение массива натуральными числами
Напишите программу, которая заполняет массив первыми N натуральными числами и выводит его. ...

Заполнение массива случайными числами
Здравствуйте. Необходимо заполнить два массива случайными числами. Проблема состоит в том, что...

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.