Sådan så burde der ikke være nogle fejl!
har gjort fibonacciData til en pegepind. som bruges til at pege på et array på heapen
virker på samme måde som før.
#include<iostream>
using namespace std;
class Fibonacci
{
private:
int FibonacciTal;
int length;
int *fibonacciData;
public:
Fibonacci() {}
~Fibonacci() {}
void Koer(int slutTal, int startVaerdi, bool skriv);
};
void Fibonacci::Koer(int slutTal, int startVaerdi, bool skriv)
{
int j = 0;
int lastI = 0;
FibonacciTal = 0;
for(int i=0;i<slutTal;j++)//de kommende sætninger udrenger fibonacci
{
if(i==0 && j==1)
i++;
if (j==0)
{
fibonacciData = new int[j];
FibonacciTal = 0;
}
else
FibonacciTal = i + lastI;
if(skriv==true)
{
if(FibonacciTal>=startVaerdi)
{
cout<<"Tallene der plusses "<<i<<"+"<<lastI<<endl;
cout<<"Fibonacci taller "<<FibonacciTal<<endl;
}
}
fibonacciData[j+1];
if(j==0)
fibonacciData[0+1]=0;
else
fibonacciData[j+1] = FibonacciTal;
lastI = i;
i = FibonacciTal;
length = j;
}
int nrFibo;
cout<<"skriv et fibonacci nr"<<endl;
cin>>nrFibo;
cout<<"Tallet er "<<fibonacciData[nrFibo]<<endl;
delete [] fibonacciData;
fibonacciData = 0;
}
int main()
{
int slutNummer;
int startTal;
int igen;
int mulighed;
Fibonacci bonacci;
cout<<"Vil du have nogle fibonacci tal udskrevet eller vil du vælge nogen der skal udskrives?"<<endl;
cout<<"(1 for første mulighed (0 for anden)"<<endl;
cin>>mulighed;
if(mulighed==1)
{
cout<<"Hvad skal fibonacci tallet kører til?"<<endl;
cin>>slutNummer;
cout<<"Hvad skal fibonacci tallet starte ved(skal være et fibonacci tal)"<<endl;
cin>>startTal;
cout<<"\n\n\n"<<endl;
bonacci.Koer(slutNummer, startTal, true); //sidste værdi er om tallene skal udskrives
cout<<"Vil du prøve igen?(1 for ja) (0 for nej)"<<endl;
cin>>igen;
if(igen==1)
{
while(igen==1)
{
cout<<"Hvad skal fibonacci tallet kører til?"<<endl;
cin>>slutNummer;
cout<<"Hvad skal fibonacci tallet starte ved(skal være et fibonacci tal)"<<endl;
cin>>startTal;
cout<<"\n\n\n"<<endl;
bonacci.Koer(slutNummer, startTal, true); //sidste værdi er om tallene skal udskrives
cout<<"Vil du prøve igen?(1 for ja) (0 for nej)"<<endl;
cin>>igen;
}
}
}
if(mulighed==0)
{
cout<<"op til hvilket nummer tal skal kunne udskrives?"<<endl;
cin>>slutNummer;
cout<<"\n\n\n"<<endl;
bonacci.Koer(slutNummer, 0 , false);
cout<<"vil du prøve igen?(1 for ja) (0 for nej)"<<endl;
cin>>igen;
if(igen==1)
{
while(igen==1)
{
cout<<"op til hvilket nummer tal skal kunne udskrives?"<<endl;
cin>>slutNummer;
cout<<"\n\n\n"<<endl;
bonacci.Koer(slutNummer, 0, false);
cout<<"Vil du prøve igen(1 for ja) (0 for nej)"<<endl;
cin>>igen;
}
}
}
return 0;
}
burde virke nu.
Indlæg senest redigeret d. 19.03.2010 19:14 af Bruger #15732