Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
#1

Вывод чисел Фибоначчи - C++

17.01.2013, 16:21. Просмотров 4261. Ответов 11
Метки нет (Все метки)

Понимаю, что тема старая, но вопрос касается кода. Программа после ввода числа с клавиатуры вылетает. В чём ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
   int n;
   cout<<"Vvedite n: ";
   cin>>n;
 
   for(int i=0; i<n; ++i)
   {
   if(n==0||n==1)
      return 1;
   else
      return (n-1)+(n-2);}
 
   return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 16:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод чисел Фибоначчи (C++):

Вывод чисел Фибоначчи
Программа выводит на экран первые N чисел ФИБОНАЧИ. но дело совсем не в этом,...

Вывод первых n чисел Фибоначчи
Дано целое число N (&gt; 1). Последовательность чисел Фибоначчи FK (целого типа)...

Вывод чисел Фибоначчи до 100 (не выводит 89)
Помогите понять, почему когда пишу вывод чисел Фибоначчи до 100, он не выводит...

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

Определить в заданной последовательности целых чисел количество чисел Фибоначчи
Выполнить задания, если задана последовательность целых чисел длиной n....

Составить программу поиска первых n четных чисел (n - с клавы), в последовательности чисел Фибоначчи
Нужно составить программу используя do while. У меня не получается, это всё что...

11
Stanis
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
17.01.2013, 16:29 #2
поставь перед return 0; system("pause");
0
Дмитрий 93
74 / 59 / 24
Регистрация: 03.06.2011
Сообщений: 309
17.01.2013, 16:30 #3
вывод результата где?
0
Stanis
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
17.01.2013, 16:35 #4
поставь перед return 0; system("pause");
вместо return (n-1)+(n-2); нужно cout<<(n-1)+(n-2)<<" ";
а вместо return 1; нужно {cout<<1;break;}
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 950
Регистрация: 23.01.2011
Сообщений: 3,179
Завершенные тесты: 1
17.01.2013, 16:36 #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>
 
int fibonacciNumbers (int number);
 
int main ()
{
    int num = 0;
    std::cin >> num;
    
    for (int i = 1; i <= num; i++)
        std::cout << fibonacciNumbers(i) << " ";
    std::cout << std::endl;
    
    system("pause");
    return 0;
}
 
int fibonacciNumbers (int number)
{
    if (number < 3)
       return 1;
    else
        return (fibonacciNumbers(number - 1) + fibonacciNumbers(number - 2));
}
0
Дмитрий 93
74 / 59 / 24
Регистрация: 03.06.2011
Сообщений: 309
17.01.2013, 16:50 #6
вариант без функций
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{ int a1=1, a2=1, a,n;
    cout<<"input n ";
    cin>>n;
        cout<<"a1\t"<<a1<<"\n"<<"a2\t"<<a2<<"\n";
            for(int i=3; i<=n; i++)
            { 
              a=a1+a2;
              cout<<"a"<<i<<"\t"<<a<<"\n";
              a1=a2;
              a2=a; 
            }
   return 0;
}
0
Stanis
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
17.01.2013, 16:57 #7
а если ввести 0 или 1 ? ) и ряд чисел фибоначчи начинается с 0
0
Дмитрий 93
74 / 59 / 24
Регистрация: 03.06.2011
Сообщений: 309
17.01.2013, 17:06 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{ int a0=0, a1=1, a2=1, a,n;
    cout<<"input n ";
    cin>>n;
        cout<<"a0\t"<<a0<<"a1\t"<<a1<<"\n"<<"a2\t"<<a2<<"\n";
            for(int i=3; i<=n; i++)
            { 
              a=a1+a2;
              cout<<"a"<<i<<"\t"<<a<<"\n";
              a1=a2;
              a2=a; 
            }
   return 0;
}
Добавлено через 2 минуты
что касается ввода 0 или 1 то выведутся те что перед циклом
1
Stanis
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
17.01.2013, 17:08 #9
я собсно про это и написал
0
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
17.01.2013, 18:33  [ТС] #10
Добавлено через 1 минуту
Цитата Сообщение от Stanis Посмотреть сообщение
поставь перед return 0; system("pause");
вместо return (n-1)+(n-2); нужно cout<<(n-1)+(n-2)<<" ";
а вместо return 1; нужно {cout<<1;break;}
всё равно выдаёт ошибку

Добавлено через 4 минуты

8-мая и 12-ая строка непонятны.. вы не могли бы разъяснить? a2<<"\n"- зачем слэш? мы просто такое не брали..
0
Дмитрий 93
74 / 59 / 24
Регистрация: 03.06.2011
Сообщений: 309
17.01.2013, 18:44 #11
"\n" это табуляция, или endl. "\t" это тоже табуляция, или несколько пробелов

Добавлено через 52 секунды
C++
1
 cout<<"a"<<i<<"\t"<<a<<"\n";//вывод буквы, вывод номера слагаемого, несколько пробелов, результат вычисления, переход на новую строку
0
Искринний
2 / 2 / 2
Регистрация: 02.02.2012
Сообщений: 36
17.01.2013, 19:06 #12
"\n"-перевод курсора на следуюющую строку
"\t"-стандартная табуляция
1
17.01.2013, 19:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 19:06
Привет! Вот еще темы с решениями:

Количество чисел Фибоначчи
#include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt;...

Поиск чисел Фибоначчи
Доброго времени суток! Написал программку, которая находит значение n-элемента...

Сформировать n чисел Фибоначчи (a1=1, a2=1,ai=ai-1+ai-2)
помогите пожалуйста

Последовательность чисел Фибоначчи
Последовательность чисел Фибоначчи характеризуется тем, что она начинается с 0,...


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

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

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