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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rivares1853
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 68
#1

Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? - C++

05.04.2014, 03:05. Просмотров 463. Ответов 13
Метки нет (Все метки)

Объясните почему не выдаёт на экран числовой ряд в диапазоне от d до k?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (n; n!=0; n--)
    {
        a=a+b;//значение следующего 
        b=a-b;//значение предыдущего
 
 
            if( ( n >= d ) && ( n <= k ) )
                {
 
                  cout << a << " ";
                 
                }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2014, 03:05     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне?
Посмотрите здесь:

C++ Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователя.
Числовой ряд. C++
числовой ряд C++
C++ Решить задачу с заданным числом шагов в указанном диапазоне
Определить все ли числа из массива лежат в указанном диапазоне C++
Найти сумму всех целых чисел в диапазоне, указанном пользователе C++
C++ Сортировка элементов массива в указанном диапазоне
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
05.04.2014, 07:20     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #2
rivares1853, при каких d, k и n выполняется программа?
rivares1853
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 68
05.04.2014, 13:17  [ТС]     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #3
n- положительное до бесконечности
d- положительное от 0 до (n-1)
k- положительное от 1 до n

Добавлено через 2 минуты
изначально a= 0 , b= 1
ValeryS
Модератор
6483 / 4949 / 455
Регистрация: 14.02.2011
Сообщений: 16,395
05.04.2014, 13:26     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #4
и что ты хотел ?
какое a и b в начале цикла?

Добавлено через 3 минуты
Цитата Сообщение от rivares1853 Посмотреть сообщение
d- положительное от 0 до (n-1)
k- положительное от 1 до n
я правильно понял что d это начало диапазона k это конец ?
zss
Модератор
Эксперт С++
6192 / 5795 / 1877
Регистрация: 18.12.2011
Сообщений: 14,800
Завершенные тесты: 1
05.04.2014, 13:49     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #5
В приведенном коде большая странность.
a,b никак не связаны с d,k,n
Вот пример функции вычисляющей n-е число Фибоначчи
Последовательность Фибоначчи
Используйте ее так
C++
1
2
3
4
5
6
for (i=1;i<=n;i++)
{
        a=Fibonachi(i); 
        if( ( a >= d ) && ( a <= k ) )
                  cout << a << " ";
}
rivares1853
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 68
05.04.2014, 15:23  [ТС]     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #6
да.
ValeryS
Модератор
6483 / 4949 / 455
Регистрация: 14.02.2011
Сообщений: 16,395
05.04.2014, 15:30     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #7
Цитата Сообщение от rivares1853 Посмотреть сообщение
да.
зачем тебе тогда n????
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i=0; i<k; i++)
    {
        a=a+b;//значение следующего 
        b=a-b;//значение предыдущего
 
            if( ( i >= d ) )
                {
                 cout << a << " ";
            
                }
    }
rivares1853
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 68
05.04.2014, 15:39  [ТС]     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #8
Мне и не нужно чтобы они были связаны. Мне просто нужно вывести на экран область значений от d до k. А они как раз связаны с n.

Добавлено через 3 минуты
ValeryS, В данном коде у тебя вместо моего n выступает i .

Добавлено через 4 минуты
ValeryS, и этот код также не работает.
ValeryS
Модератор
6483 / 4949 / 455
Регистрация: 14.02.2011
Сообщений: 16,395
05.04.2014, 16:52     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #9
Цитата Сообщение от rivares1853 Посмотреть сообщение
и этот код также не работает.
что значит не работает?
как себя ведет?
какой компилятор? как запускаешь?
полный листинг приведи
rivares1853
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 68
05.04.2014, 23:01  [ТС]     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #10
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
// ConsoleApplication10.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include<iostream>
using namespace std;
 
 
int main()
{
    setlocale(LC_CTYPE,"");
 
    int a , b, n, d, k, sum;
    a=0;
    b=1;
    cout << "Vvedite n ";
    cin >> n;
    cout << "Vvedite d ";
    cin >> d;
    cout << "Vvedite k ";
    cin >> k;
    cout << "Vvedite sum ";
    cin >> sum;
 
    while (n<=0)
    {
        cout << "ERROR! Enter the number greater than zero: ";
        cin >> n;
    }
 
        
      if ( ( d > n ) || (  d > sum  )  )    //   проверка на превышение значений
 
      {   cout<<"Ошибка, некорректно введёные значения " <<endl ;  system ("pause") ;  return 0 ;  }
 
 
 
 
    for (int i=0; i<k; i++)
    {
        a=a+b;//значение следующего 
        b=a-b;//значение предыдущего
 
            if( ( i >= d ) )
                {
                 cout << a << " ";
            
                }
    }
 
   
        
        
 
    system("pause");
    return 0;
}
Добавлено через 48 секунд
Visual Studio 2012

Добавлено через 3 минуты
Ввожу n=8, d=6, k=4, sum=21

Должен вывести на экран ряд Фибоначчи в диапазоне от 4 до 6, т.е. 3, 5
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
05.04.2014, 23:42     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #11
rivares1853, вы вообще осознанно писали данный код? Берете листик, ручку и прогоняете вашу программу, тем более при таком малом кол-ве итераций цикла, это сделать не сложно.
У вас последний цикл просто считает значения a и b, но выводить при ваших данных не будет, т.к. максимальное значение которое может принимать i равно 3, а у вас условие, если i >= 6.
ValeryS
Модератор
6483 / 4949 / 455
Регистрация: 14.02.2011
Сообщений: 16,395
06.04.2014, 04:10     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #12
Цитата Сообщение от rivares1853 Посмотреть сообщение
d=6, k=4,
а что это начало диапазона больше чем конец?
rivares1853
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 68
06.04.2014, 21:21  [ТС]     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #13
ValeryS, Ryuk, Блиннн, вот я олень!!!....
Спасибо парни, видимо я чё-то перегрелся... Вы правы. Код написан правильно, а значения ввожу какие-то левые, и при этом хочу чтобы что-то нормальное вышло...

Ещё раз спасибо огромное!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 22:21     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне?
Еще ссылки по теме:

C++ Написать программу, выводящую на экран ряд чисел Фибоначчи до значения, указанного пользователем
C++ Вывести все числа в указанном диапазоне
C++ В указанном диапазоне найти все числа, произведение цифр которых по модулю дает заданное число
C++ Заполнить массив заданного размера нечётными числами в указанном диапазоне
Сгенерировать случайное число в указанном диапазоне, кратное заданному числу C++

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

Или воспользуйтесь поиском по форуму:
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
06.04.2014, 22:21     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне? #14
rivares1853, именно по этому лучше внутрипрограммно проверять на корректность ввода ваших данных.
Yandex
Объявления
06.04.2014, 22:21     Почему не выдает на экран числовой ряд Фибоначчи в указанном диапазоне?
Ответ Создать тему
Опции темы

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