==== 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));
}
}