Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <math.h>
- #include <stdio.h>
- float fn(float x, float a, float b) {
- float y = 0.0;
- y = a*cos(b*x);
- return y;
- }
- float calka_function(int n, float z, float y, float a, float b) {
- float dx = (y - z) / (float)n;
- float calka = 0.0;
- int i = 0;
- for (i = 1; i < n; i++) {
- calka += fn(z + i*dx, a, b);
- }
- calka += (fn(y, a, b) + fn(z, a, b)) / 2;
- calka *= dx;
- return calka;
- }
- void policzCalke(int liczbaProbek, double poczatek, double koniec, double a, double b) //y = a*cos(b*x)
- {
- double calka = 0.0;
- double wysokosc = (double)(koniec - poczatek) / (double)liczbaProbek;
- int dwadziescaPr = liczbaProbek * 0.2;
- int i;
- double sumaPodstaw;
- for (i = 1; i <= liczbaProbek; i++)
- {
- sumaPodstaw = fn(poczatek + wysokosc*(i - 1), a, b) + fn(poczatek + wysokosc*i, a, b);
- calka += 0.5 * wysokosc * sumaPodstaw;
- if (i % dwadziescaPr == 0)
- {
- printf("%d%% - calka = %lf\n", i/dwadziescaPr*20, calka);
- }
- }
- }
- int main()
- {
- float z, y, calka, a, b;
- int i, n;
- while (1) {
- printf("Podaj poczatek calki z= ");
- if (scanf("%f", &z) != 1)
- {
- printf("Blad danych , wprowadz liczbe\n");
- return 1;
- }
- printf("Podaj koniec calki y= ");
- if (scanf("%f", &y) != 1)
- {
- printf("Blad danych , wprowadz liczbe\n");
- return 1;
- }
- printf("Podaj parametr cosinusa a= ");
- if (scanf("%f", &a) != 1)
- {
- printf("Blad danych , wprowadz liczbe\n");
- return 1;
- }
- printf("Podaj parametr b= ");
- if (scanf("%f", &b) != 1)
- {
- printf("Blad danych , wprowadz liczbe\n");
- return 1;
- }
- printf("Podaj dokladnosc calkowania n= ");
- if (scanf("%d", &n) != 1)
- {
- printf("Blad danych , wprowadz liczbe\n");
- return 1;
- }
- //calka = calka_function(n, z, y, a, b);
- //printf("calka = %f\n", calka);
- //printf("calka 20 procent = %f\n", calka*0.2);
- policzCalke(n, z, y, a, b);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement