Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2017, 19:59   #1
MaryJa
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 12
По умолчанию [C] Помогите исправить ошибку в коде для задаче о вычислении n-го числа Фибоначчи.

программа для вычисления n-го члена чисел Фибоначчи.
при введении n=2 или 1, результат равен 1, при введении любого другого значения-результата нет.Что нужно исправить?
Код:
        int i1 = 1;
	int i2 = 1;
	int i=2;
	int sum;
	if (n ==2||n==1)
		return 1;
	else

	while (n <= n + 1)
		{
			sum = i1 + i2;
			i1 = i2;
			i2 = sum;
			i++;
		}

		return i1;
	
	}
	

int main()
{
	int a, r;
	scanf_s("%d", &a);
	r = fib(a);
	
	printf("a=%d", r);
	return 0;
}

Последний раз редактировалось Вадим Мошев; 21.10.2017 в 22:59.
MaryJa вне форума Ответить с цитированием
Старый 21.10.2017, 21:01   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от MaryJa Посмотреть сообщение
while (n <= n + 1)
Вероятно, где-то тут с одной стороны i?
Black Fregat вне форума Ответить с цитированием
Старый 21.10.2017, 22:54   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

n всегда < n+1, так что цикл будет выполняться бесконечно. Вместо while (n <= n + 1) следует
Код:
 i1=1 ; i2=1 ;
for (i=3;i<=n;i++)
.....

Последний раз редактировалось digitalis; 21.10.2017 в 22:59.
digitalis вне форума Ответить с цитированием
Старый 22.10.2017, 10:38   #4
MaryJa
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 12
По умолчанию

Да,спасибо)там I вместо n
MaryJa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в задаче Shinshilla Visual C++ 5 12.11.2014 07:20
Помогите исправить ошибку в задаче! Игорь777 Помощь студентам 4 26.04.2009 18:31
Помогите исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 4 04.07.2008 12:27
Помогите дописать и исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 5 30.05.2008 00:14
Помогите исправить ошибку в задаче VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 9 19.05.2008 22:16