Kezdőoldal » Számítástechnika » Programozás » Hogyan kell ezt megcsinálni...

Hogyan kell ezt megcsinálni C-ben?

Figyelt kérdés

A feladat:

Írj programot, mely egy 100 elemű long long unsigned tömb első két elemét beolvassa a standard inputról, majd a Fibonacci-sorozat

Fn=Fn-1+Fn-2

rekurzív szabályát alkalmazva feltölti a tömböt. A program írja ki a standard outputra az utolsó olyan tömbelem indexét, melyben tárolt érték még nem csordult túl.


A túlcsordulás detektálása általános esetben nehéz feladat, hardvertámogatást igényel. Jelen speciális sorozat esetén a számértékek vizsgálatával megtehető, gondolj ki egy megfelelő módszert.


Ügyelj a beolvasás formátumkódjára!


Amit én eddig csináltam:

[link]

Hogyan kéne azt megoldani, hogy akkor már írja ki a szám sorszámát, amikor már túlcsordulna?



2021. okt. 8. 19:06
1 2
 1/14 anonim ***** válasza:
0%
Miez matekházi 8.0?
2021. okt. 8. 19:21
Hasznos számodra ez a válasz?
 2/14 Pelenkásfiú ***** válasza:

"while(fibonacci[i<2e32])"


Ezt nézd meg jobban :)

Konkrétan bele sem lépsz abba a ciklusba, tehát a program nem csinál semmit.

Amúgy nálam le sem futott, amíg nem írtam át a formátumkódokat "%llu"-ra.

2021. okt. 8. 19:23
Hasznos számodra ez a válasz?
 3/14 Pelenkásfiú ***** válasza:

Beolvasol két számot x-be és y-ba, de semmi nem történik velük.

Ezeket kellene a tömböd első két elemeként beállítani.

Utána végiggenerálni a számokat a 100. elemig.

Itt még nem kell a túlcsordulást figyelned.

Ha eddig van egy működő kódod és nem jössz rá a végére, akkor segítek. De igazából a feladatot jól elolvasva rá lehet jönni. Egyszerű.

2021. okt. 8. 19:25
Hasznos számodra ez a válasz?
 4/14 A kérdező kommentje:

Most már van egy működő kódom (szerintem), de még mindig fogalmam sincsen, hogy mit kéne csinálni a túlcsordulással.

[link]

2021. okt. 8. 20:16
 5/14 Pelenkásfiú ***** válasza:
Legegyszerűbb megoldás, hogy végigmész a tömbön újra és figyeled, hogy hol "romlanak el" az értékek. :)
2021. okt. 8. 20:20
Hasznos számodra ez a válasz?
 6/14 Pelenkásfiú ***** válasza:

Egyébként a ciklusod még nem teljesen jó.

Nézd meg a tömböd első néhány számát a generálás után!

2021. okt. 8. 20:41
Hasznos számodra ez a válasz?
 7/14 anonim ***** válasza:
A túlcsordulás úgy fog jelentkezni, hogy az új érték kisebb lesz valamelyik összeadott számnál.
2021. okt. 8. 20:42
Hasznos számodra ez a válasz?
 8/14 anonim ***** válasza:

A fibonacci számok folytonosan növekednek.

Vagyis ha a szám ahol tartasz kisebb mint az előző, akkor rossz. (mert ha túlcsordul, kisebb lesz)

2021. okt. 8. 20:43
Hasznos számodra ez a válasz?
 9/14 A kérdező kommentje:

Hát, igazából most már félig jó elvileg a programom, de nem működik mindegyik számra. Például, ha azt írom be, hogy 0 és 1, akkor nem működik már jól, de nem igazán értem, hogy pontosan miért.

[link]

2021. okt. 9. 11:18
 10/14 Pelenkásfiú ***** válasza:

Írtam a #6-osban, hogy nem jó a ciklusod.

Egyelőre nem akarom konkrétan megmondani a hibát.

Gondolod át, hogy "i" mettől meddig kell, hogy menjen!


Valamint kétszer írod ki az "i"-t a végén :)

2021. okt. 9. 11:23
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!