Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<math.h>
- //#include<conio.h>
- #include<stdlib.h>
- struct sygnal {
- int A, B;
- int interwal;
- double* probki;
- FILE *fp;
- }syg;
- int zapisz (struct sygnal, char* nazwa_pliku )
- //funkcja zwracaj¹ca wartoci funkcji kwadratowej
- double fun(double a, double b, double c, double x)
- {
- return a*x*x+b*x+c;
- };
- int main(void)
- {
- double a, b, c, d, x1, x2;
- int i, interwal=syg.interwal; // pytanie o zmienne,
- //FILE *fp;
- syg.fp = fopen("sygnal.csv", "w");
- printf("Podaj kolejne wspolczynniki rownania ax^2+bx+c=0\n");
- printf("Podaj a ");
- scanf("%lf", &a);
- printf("Podaj b ");
- scanf("%lf", &b);
- printf("Podaj c ");
- scanf("%lf", &c);
- d=b*b-4*a*c;
- if(d<0)
- printf("Rownanie nie ma pierwiastkow rzeczywistych\n");
- else if (d==0)
- printf("Rownanie ma jedno rozwiazanie \nx = %lf\n", -b/(2*a));
- else{
- x1=(-b-sqrt(d))/(2*a);
- x2=(-b+sqrt(d))/(2*a);
- printf("Rownanie ma dwa rozwiazania \nx1=%lf \nx2=%lf\n", x1, x2);
- }
- printf("Podaj zakres probkowania. \nOd x = ");
- scanf("%d", &syg.A);
- printf("Do x = ");
- scanf("%d", &syg.B);
- printf("Podaj interwal: ");
- scanf("%d", &interwal);
- syg.probki=(double*)malloc((syg.B-syg.A)/interwal*sizeof(double)+sizeof(double));
- for(i=0;i<((syg.B-syg.A)/(interwal))+1;i++)
- {
- syg.probki[i] = fun(a,b,c,syg.A+i*interwal);
- printf("\n%lf ", syg.probki[i]);
- fprintf(syg.fp, "%lf\n", syg.probki[i]);
- }
- free(syg.probki);
- if(fclose(syg.fp)==0)
- printf(" \n Poprawnie zamknieto plik\n");
- else
- printf("Blad plik \n");
- return 0;
- }
Add Comment
Please, Sign In to add comment