Danieln
Artikelen: 0
Berichten: 4
Lid geworden op: do 18 okt 2007, 09:39

C++ probleem fibonacci

beste mensen...

voor school heb ik een programmeer opdracht.

Ik moet een programma schrijven dat als je twee getallen op de commandline invult deze optelt als een rij a la fibonacci...

hij moet alle uitgerekende getallen printen tot aan het beriek van de signed integer dus 65767 ik hoop van harte dat iemand mij hiermee kan helpen!!

alsvast bedankt

daniel
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

Re: C++ probleem fibonacci

Tenzij je op een systeem uit de vorige eeuw werkt, is het bereik van een signed integer 2147483647 (en anders 32767) ;)

Wat is het probleem, waar loop je vast? Kun je om te beginnen een simpel basisprogje opzetten dat de twee ingevulde getallen leest en op het scherm print?
In theory, there's no difference between theory and practice. In practice, there is.
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: C++ probleem fibonacci

Dit lijkt me niet zo'n moeilijke opdracht, tot welk punt geraak je zelf?
Danieln
Artikelen: 0
Berichten: 4
Lid geworden op: do 18 okt 2007, 09:39

Re: C++ probleem fibonacci

sorrie kweet weer wat t bereik is:P

En trouwens er moet een while-statemant gebruikt worden...

Ik kom niet zo ver..

Dit s niet mijn sterke kant als k er heel lang voor ga zitten kom k wel ergens maar daar heb k de tijd niet voor.

ik weet wel wat het programma moet gaan doen:

na invoeren van 2 willekeurige getallen op commandline moeten ongeveer dit loopje worden gebruikt...

C1

C2

C3 = C1 + C2

C1

C2 > C1

C3 > C2 > C1

..........C3 > C2

....................C3

dit moet elke keer doorgaan totdat de MAXINT is bereikt. Ook moet het programma de uitgerekende waardes printen in een rij.

mvrgr. daniel
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: C++ probleem fibonacci

Het is dus helemaal niet zo moeilijk. In m'n while kijk ik tot wanneer de waarde negatief wordt (dan zit je over de max int heen). Voor de rest is het dus gewoon telkens de 2 voorgaande waarden optellen.

Wat ik net merk aan je uitleg is dat je het waarschijnlijk zonder tabel moet doen. Ik zal die code ook ff posten.

Code: Selecteer alles

#include<iostream>

using namespace std;

int main() {

int reeks[200];

cin >> reeks[0];

cin >> reeks[1];

cout << reeks[0] << " ";

int i=1;

while (reeks[i]>0) {

cout << reeks[i] << " ";

i++;

reeks[i]=reeks[i-1]+reeks[i-2];

}

return 0;

}
zonder tabel:

Code: Selecteer alles

int main() {

int c1, c2, c3;

cin >> c1;

cin >> c2;

c3=c1+c2;

cout << c1 << " ";

cout << c2 << " ";

while (c3>0) {

cout << c3 << " ";

c1=c2;

c2=c3;

c3=c2+c1;

}

return 0;

}
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

Re: C++ probleem fibonacci

In m'n while kijk ik tot wanneer de waarde negatief wordt (dan zit je over de max int heen)
Dit was de enige echte trick question in deze opdracht denk ik ;)

Het kan natuurlijk ook met while (MAXINT-c2 >= c1)
In theory, there's no difference between theory and practice. In practice, there is.
Iwerke
Artikelen: 0
Berichten: 407
Lid geworden op: za 11 jun 2005, 14:10

Re: C++ probleem fibonacci

moet je niet eerst initialiseren dat je eerste twee waardes van de reeks '1' zijn?

of worden de 1ste twee waardens gevraagd aan de gebruiker tijdens de voorbeelden hier boven?

( ben niet echt volledig vertrouwd met C++)

ah nvm in de opdracht stond ook dat de getallen ingegeven moeten worden.
I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones.

_-'-.Albert Einstein.-'-_
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: C++ probleem fibonacci

de "cin" opdracht zorgt daar dus voor ;)
Danieln
Artikelen: 0
Berichten: 4
Lid geworden op: do 18 okt 2007, 09:39

Re: C++ probleem fibonacci

mogguh...

kheb nu dit gemaakt... de compiler geeft alleen nog een paar fouten aan.. weten jullie waar ze zitten..

bij nader navragen bij leraar hoefden er geen commandline arguments gegeven te worden.

/* Fibonacci.cpp

INPUT: twee cijfers willekeurig gekozen

VERW.: De getallen optellen a la fibonacci tot aan 32767

OUTPUT: alle opgetelde getallen*/

include<iostream.h>

int main()

{

int c1;

cout << Geef het eerste getal!! ";

cin >> C1;

//Lees het eerste getal

int c2;

cout << Geef het tweede getal!! ";

cin >> C2;

//Lees het tweede getal

int c1, c2, c3;

cin >> c1;

cin >> c2;



c3=c1+c2;



cout << c1 << " ";

cout << c2 << " ";



while (c3>0)

{

cout << c3 << " ";

c1=c2;

c2=c3;

c3=c2+c1;

}



return 0;

}

mvrgr. daniel
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

Re: C++ probleem fibonacci

Danieln schreef:mogguh...

kheb nu dit gemaakt... de compiler geeft alleen nog een paar fouten aan.. weten jullie waar ze zitten..
Dat geeft je compiler toch aan?

Maar zo op het eerste gezicht: #-teken voor include vergeten, geen quotes aan begin van strings, hoofd- en kleine letters door elkaar gebruikt voor variabelen, dubbele declaratie van c1 en c2 (en je leest ze ook twee keer in met cin trouwens).
In theory, there's no difference between theory and practice. In practice, there is.

Terug naar “Informatica en programmeren”