C++ - funkcje cześć II 
Omawiane zagadnienia.
Przykład 1: Funkcje o niekreślonej liczbie argumentów.

W poniższych zadaniach zakładamy, że funkcje mają nieokreśloną liczbę argumentów będących liczbami całkowitymi. Pierwszy i jedyny określony argument oznacza liczbę pozostałych argumentów

Zadanie dodatkowe: zmodyfikuj funkcje liczące średnie tak, aby można było podawać liczby o różnych typach, np. int, double, float.
Wskazówka: składnia funkcji blibliotecznej printf

Przykład 2: Filtrowanie - wskaźniki do funkcji.

Napisz funkcję o następującej sygnaturze:

void filtr(int t[], int n, bool (*f)(int));
Funkcja powinna wypisać na ekran te elementy tablicy t, dla których warunek filtracji f zwraca wartość true. Argument n określa ilość elementów tablicy t.

Przykład 3: Sortowanie - wskaźniki do funkcji oraz przeładowanie funkcji.
Przykład 4: Całki raz jeszcze - wskaźniki do funkcji.

Zaimplementuj algorytm obliczania przybliżonej całki oznaczonej z podanej funkcji metodą trapezów.

Ustalamy podział przedziału na równe częsci:
a=x0 ≤ x1≤ x2≤ ... ≤ xn=b
Przybliżona wartość całki (wzór trapezów):
S = (0.5f(x0) + f(x1)+ ... + f(xn-1) + 0.5f(xn))*(b-a)/n
Poniższy rysunek ilustruje ideę przybliżenia pola pod wykresem funkcją jako sumy pól trapezów. Im większa ilość trapezów tym większa szansa na dokładniejsze przybliżenie pola pod wykresem funkcji.
metoda trapezów metoda trapezów metoda trapezów

Argumentami funkcji powinny być:

Oblicz przybliżoną wartość całki z funkcji sinus na przedziale [0,2π] oraz z f(x)=x2 na przdziale [0,1]. Porównaj z dokładną wartością całki z wielomianu (zadanie z poprzednich ćwiczeń)

Przykład 5: Miejsca zerowe (zadanie dodatkowe dla nudzących się:-).

Zaimplementuj algorytm szukania miejsca zerowego funkcji w podanym przedziale metodą bisekcji. Poszukaj w internecie opisu algorytmu bisekcji.

Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ