Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h>
- #include <math.h>
- #include <stdlib.h>
- #include<conio.h>
- #include <time.h>
- #define LICZBA_PROBEK 100
- void dziedzina(double *dmin, double *dmax);
- void parametry(double wsp[]);
- void generuj(double wsp[], double dmin, double dmax, double wyniki[], int wielkosc);
- void zapisz(double wyniki[], int wymiar, double dmin, double dmax);
- void szum(double suma[], double wyniki[], int rozmiar);
- void szum(double suma[], double wyniki[], int rozmiar)
- {
- srand((unsigned int) time(NULL));
- // double l;
- int i;
- double amplituda;
- double szum[100];
- printf("\npodaj amplitude: ");
- scanf("%lf", &lituda);
- for (i=0; i<rozmiar; i++)
- {
- szum[i]=(((double)rand()/RAND_MAX)*amplituda - (amplituda/2));
- printf("\n szum =%lf \n", szum);
- suma[i]=wyniki[i]+szum[i];
- printf("\n suma sygnalow= %lf \n", suma[i]);
- }
- }
- void dziedzina(double *dmin, double *dmax)
- {
- printf("podaj parametry określające dziedzinę: \n");
- scanf("%lf %lf", dmin, dmax);
- while (*dmin>*dmax)
- {
- printf("\npoczątek musi być mniejszy niż koniec! podaj parametry: ");
- scanf("%lf %lf", dmin, dmax);
- }
- printf("\nzakres Twojej dziedziny jest od %lf do %lf \n", *dmin, *dmax);
- }
- void parametry(double wsp[])
- {
- printf("podaj współczynniki wielomianu: ");
- scanf("%lf %lf %lf", &wsp[0], &wsp[1], &wsp[2]);
- printf("\nTwoje współczynniki to a=%lf, b=%lf, c=%lf \n", wsp[0], wsp[1], wsp[2]);
- }
- void generuj(double wsp[], double dmin, double dmax, double wyniki[], int wielkosc)
- {
- double x, delta; // delta oznacza wartość bezwzględną różnicy między dmin a dmax
- int i = 0;
- // printf("podaj ilość próbek: ");
- // scanf_s("%d", wielkosc);
- // printf("Twoja liczba próbek wynosi: %d\n", *wielkosc);
- // wyniki = (double *) malloc((int)*wielkosc * sizeof (double));
- delta = (dmax - dmin)/(wielkosc);
- printf("delta = %lf\n", delta);
- x = dmin;
- for(i=0; i<wielkosc; i++)
- {
- wyniki[i]=(wsp[0]*(x*x))+(wsp[1]*x)+wsp[2];
- printf("dla wartosci x = %1.2lf wartosc wielomianu wynosi: %1.2lf\n", x, wyniki[i]);
- x = x + delta;
- }
- }
- //fgets
- //"%lf\n"
- void zapisz(double wyniki[], int wymiar, double dmin, double dmax)
- {
- int i;
- FILE *f;
- //f=fopen("wielomian.csv", "w")
- if ((f=fopen("wielomian.csv", "w"))!=NULL)
- {
- fprintf(f, "wyniki");
- for(i=0; i<wymiar; i++)
- {
- fprintf(f, "\n%f;", wyniki[i]);
- }
- printf("\nzapis poprawny\n");
- }
- else printf("błąd przy zapisie");
- fclose(f);
- }
- int main(void)
- {
- double Dmin, Dmax;
- double tab[4];
- int rozmiar=5;
- double wynikowa[LICZBA_PROBEK];
- //double l;
- //double szumik[100];
- double suma[LICZBA_PROBEK];
- setlocale(LC_ALL, "polish");
- dziedzina(&Dmin, &Dmax);
- parametry(tab);
- generuj(tab, Dmin, Dmax, wynikowa, rozmiar);
- zapisz(wynikowa, rozmiar, Dmin, Dmax);
- szum(suma, wynikowa, rozmiar);
- // l=(double)rand()/RAND_MAX;
- //printf("\n%lf \n", l);
- getch();
- return 0;
- }
Add Comment
Please, Sign In to add comment