Member 12899279 Ответов: 2

В чем проблема в коде foloowing?


#include<iostream>
using namespace std;
class fibonnaci{
	private:
		int n;
		public:	
	int fab(int k)
	{
		if ((k==1)||(k==0))
		{
			return (k);
		}
		else
		{
			return (fab(n-1)+fab(n-2));
		}
	}
};

int main()
{    int n,i=1;
    
	cout<<"Please input the number of terms for fibonnaci seroies:";
	cin:
	cin>>n;
	if(n<0)
	{
		cout<<"Cannot print Fibonnaci series for "<<n<<" \n";
		cout<<"Please enter correct number:";
		goto cin;
	}
	while(i<=n)
	{
		fibonnaci f;
		cout<<f.fab(i)<<" ";
		i++;
	}
	return 0;
}


Что я уже пробовал:

перепробовал все, но не могу заставить код работать?

2 Ответов

Рейтинг:
16

Member 12899279

я сделал очень глупую ошибку и теперь я получил ее в любом случае спасибо

int fab(int k)
{
    if ((k==1)||(k==0))
    {
        return (k);
    }
    else
    {
        return (fab(k-1)+fab(k-2));
    }
}


Рейтинг:
1

Patrice T

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя-отладчик. Освоение отладчика не является обязательным, оно обязательно для любого программиста, без исключения.
Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности. Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.