# # $Id: 01-hazi.txt 2202 2014-08-31 01:20:38Z gertom $ # Oldd meg a feladatokat C nyelven úgy, hogy a konkrét számítást egy (vagy több) függvény végezze. Írd meg a függvényt rekurzív és nem rekurzív módon is. Hasonlítsd össze a két megoldás időigényét, vagyis azt, hogy a megoldás során hány függvényhívás történik. 1. Írj egy programot, ami kiszámolja n! értékét. 2. Írj egy programot, ami kiszámolja a Fibonacci sorozat n. elemét. A sorozat elemei: a[0]=1, a[1]=1 és n>1 esetén a[n] = a[n-1]+a[n-2]. 3. Általánosítsd a Fibonacci sorozatot: tekintsük azt a k-ad rendű Fibonacci sorozatot, melynek első k eleme 1 (azaz a[0]=..a[k-1]=1), a többi elemét pedig az előző k elem összegeként kapjuk, (azaz a[n]=a[n-1]+..+a[n-k]). Írj egy programot ami kiszámolja egy ilyen sorozat n. elemét. 4. Írj egy programot, ami új típusok bevezetése nélkül a lehető legpontosabban kiszámolja n!/((k+m)! * (n-k)!) értékét. Írj egy-egy függvényt az alábbi feladatok megoldására. Ne használj globális változókat, amit csak kell, paraméterként adj át. Ha úgy egyszerűbb, az előzőleg megírt függvényeket felhasználhatod. Írj főprogramokat, amely rendeltetésszerűen használja az adott függvényt. 5. Cseréld meg két int típusú változó értékét. 6. Cseréld fel egy int tömb két elemét. 7. Írj egy függvényt, amely egy már rendezett int tömbbe beszúr egy új elemet úgy, hogy a tömbben az elem előtt csak nála nem nagyobb elem marad. 8. Írj egy függvényt, amely egy tömbben tárolt számsorozatból kiszámítja egy síkidom súlypontját. A számsorozat a síkidom pontjainak koordinátáit tartalmazza x[0], y[0], x[1], y[1], ..., x[n-1], y[n-1] sorrendben.