Programowanie obiektowe - lista 5
- Zdefiniuj nowe znaczenie dla operatora * tak, aby dla dowolnych
obiektów
v
oraz w
klasy std::vector<double>
wyrażenie v * w
zwracało
iloczyn skalarny
obu wektorów
(czyli sumę Σ v[i]*w[i] dla i=0 ... v.size()−1).
Możesz założyć, że rozmiary obu wektorów są zawsze takie same. Przetestuj ten operator
- Napisz i przetestuj funkcję obliczającą wartość całki oznaczonej z dowolnej jednoargumentowej funkcji rzeczywistej metodą trapezów
(opis tutaj).
Funkcja powinna przyjmować 4 argumenty:
- a - początek przedziału całkowania
- b - koniec przedziału całkowania
- f - wskaźnik na całkowaną funkcję
- n - liczbę podziałów przedziału całkowania (tj. liczbę trapezów)
Przetestuj tę funkcję na przykładzie całki z funkcj f(x) = 4/(1+x2) na przedziale od 0 do 1.
Jakiego rzedu musi być n, żeby przybliżone wartości tej całki dla n i 2n podziałów różniły się o mniej niż 1e-6?
- Napisz program, który wyświetla wszystkie argumenty wiersza poleceń.