==== Függvények használata ==== **1. feladat:** Kérjen be a felhasználótól egy számot (n) írassa ki az n faktoriálist, használjon rekurzív függvényt. #include unsigned long long factorial(int n) { if(n == 0) { return 1; } else { return n * factorial(n - 1); } } int main() { int n; printf("Melyik szam faktorialisat szamoljam?"); scanf("%d", &n); printf("%d! = %llu", n, factorial(n)); } **2. feladat:** Kérjen be a felhasználótól egy számot (n) írassa ki a Fibonacci sorozat első n. elemét egy függvény segítségével. //(0, 1, 1, 2, 3, 5, 8, 14, 22, ...) Minden szám az előző kettő összege, kivétel az első kettő, ami f(0) = 0, f(1) = 1.// #include void fibonacci(int n) { int t1 = 0, t2 = 1, kovetkezo; for (int i = 1; i <= n; ++i) { printf("%d, ", t1); kovetkezo = t1 + t2; t1 = t2; t2 = kovetkezo; } } int main() { int n; printf("Hany elemet irjak ki a Fibonacci sorozatbol?"); scanf("%d", &n); fibonacci(n); } **3. feladat:** Kérjen be a felhasználótól egy számot (n) írassa ki a Fibonacci sorozat n. elemét. Használjon rekurziót! #include int fibonacci(int n) { if(n == 0 || n == 1) { return n; } else { return(fibonacci(n-1) + fibonacci(n-2)); } } int main() { int n; printf("Hanyadik elemet irjam ki a Fibonacci sorozatnak?"); scanf("%d", &n); printf("%d", fibonacci(n)); } **4. feladat:** Adott egy 10 elemű vektor. Kérje be a felhasználótól a 'min' vagy 'max' szavak egyikét. Írassa ki a legkisebb vagy legnagyobb elemet, használjon függvényre mutató pointert függvény argumentumként. #include int min(int a, int b) { if(a < b) { return 1; } return 0; } int max(int a, int b) { if(a > b) { return 1; } return 0; } int valaszt(int(f)(int a, int b), int *v, int n) { int x = v[0]; for(int i = 1; i < n; i++) { if(f(v[i], x)) { x = v[i]; } } return x; } int main() { int v[] = {12,1,23,43,243,2,-1,2,3,55}; char s[10]; printf("min vagy max elem?"); scanf("%s", s); if(s[1] == 'i') { printf("min = %d", valaszt(min, v, 10)); } else { printf("min = %d", valaszt(max, v, 10)); } }