fibonacci tal række

Tags:    c++

Hej udviklere!

Jeg står og mangler en der kan noget c++, som kan lave et lille simpelt program for mig. Jeg skal bruge et program der kan spytte fibonacci talrække ud.

Funktioner:
Mulighed for at sætte min/max værdi for hvor den skal gå til
Mulighed for at sætte et specifikt "nummer" ind som man vil have oplyst eksempelvis F13(fibonacci tallet nr. 13) = 233

Går udfra dette er et ligetil projekt, og ikke det sværeste. Jeg har kigget lidt rundt på google og fundet et hav af nogle der er kodet, men kan ikke få dem compilet og ved ikke hvordan jeg gør. Derfor jeg søger hjælp her.

Håber der er en der kan hjælpe ;)

//Morten Klim Sørensen



75 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
jeg vil prøve at lave proggramet ved at gøre fibonacciData til den pegepind som peger på et array som ligger på heapen men vil tage lidt tid ved ikke helt hvordan man gør. Ellers tak robert for vector klassen men er ikke så god til c++ endnu :)



jeg vil prøve at lave proggramet ved at gøre fibonacciData til den pegepind som peger på et array som ligger på heapen men vil tage lidt tid ved ikke helt hvordan man gør. Ellers tak robert for vector klassen men er ikke så god til c++ endnu :)

Øvelse gør mester :-)



Fold kodeboks ind/udKode 


Og det virker:
Fold kodeboks ind/udKode 


...men det rykker selvfølgelig bare grænsen op til et større tal (mindst 64 bits). Vil du have større må du ud i noget bigint snask...GNU's GMP library f.eks.


Får ikke helt samme resultat som dig. Den viser 0 ved hvert eneste nu :P

Jeg har heller ikke behov for at komme højere end 64bits tal.

//Morten Klim Sørensen



Argh...det er værre en nogensinde :-)

Du skal newe et array med den fulde ønskede størrelse, og så slette den igen, når du er færdig.

Du newer et array for hvert gennemløb i løkken og bruger så kun den sidste plads.



gør jeg robert ? :D jeg gør det da kun en gang når j==0;
eller hvad?



Indlæg senest redigeret d. 20.03.2010 17:47 af Bruger #15732
Første gang (når j er 0) kalder du new:
fibonacciData = new int[j];
Dvs. du allokerer plads til 0 elementer, der er ikke helt nok...



gør jeg robert ? :D jeg gør det da kun en gang når j==0;
eller hvad?

Godt ord igen :$

Men som Bertel siger, så allokerer du et lidt for bette array. Og hvorfor inde i løkken ? Så skal du tage stilling til, om du skal oprette arrayet mange gange.

Du ved, hvor stort arrayet skal være i toppen af funktionen, så alloker det dér...og husk at slette det igen.



Får ikke helt samme resultat som dig. Den viser 0 ved hvert eneste nu :P

Jeg har heller ikke behov for at komme højere end 64bits tal.

//Morten Klim Sørensen



Hvilken compiler bruger du ?
Andre, som kan bekræfte dette ?



Får ikke helt samme resultat som dig. Den viser 0 ved hvert eneste nu :P

Jeg har heller ikke behov for at komme højere end 64bits tal.

//Morten Klim Sørensen



Hvilken compiler bruger du ?
Andre, som kan bekræfte dette ?


Jeg bruger GNU GCC Compiler. Jeg har prøvet at compile det både på min stationær og bærbar, for samme resultat.



Får ikke helt samme resultat som dig. Den viser 0 ved hvert eneste nu :P

Jeg har heller ikke behov for at komme højere end 64bits tal.

//Morten Klim Sørensen



Hvilken compiler bruger du ?
Andre, som kan bekræfte dette ?


Så vidt jeg kan se er der ikke problemer med koden.



t