Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- /*A. Zdefiniuj funkcję f(x) = e sin(x) + ln(x). Dziedzina funkcji: x > 0
- Dla sprawdzenia: f(1) == 2.3198, f(2) == 3.1757, f(3) == 2.2502, f(4) == 1.8555
- Prototyp funkcji: double f(double x, int * kod); Za pomocą parametru
- int * kod funkcja ma informować, czy obliczona wartość funkcji
- była większa od 3.1 (*kod == 1), mniejsza lub równa 3.1 (*kod == -1), x nie
- należał do dziedziny (*kod == 0).
- Napisz program wielokrotnie wczytujący wartość rzeczywistą x, wyznaczający f(x)
- i prezentujący wyniki obliczeń (x = ..., f(x) = ...), aż do momentu gdy
- obliczona wartość funkcji przekroczy 3.1, lub gdy podany argument nie należy do
- dziedziny funkcji.
- */
- double f(double x, int *kod);
- void main() {
- int ask;
- double x;
- do {
- printf("Prosze podac wartosc x: ");
- scanf("%lf", &x);
- f(x, &ask);
- if (ask == -1) break;
- printf("Wartosc funkcji to: %lf\n\n", f(x, &ask));
- } while (1);
- }
- double f(double x, int *kod) {
- double wynik;
- if (x <= 0) *kod = -1;
- else if (x > 0) {
- wynik = exp(sin(x)) + log(x);
- if (wynik > 3.1) *kod = -1;
- return wynik;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement