Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- # define M 50
- struct sygnal
- {
- float poczatek;
- float interwal;
- float koniec;
- float *tablica;
- };
- int main()
- {
- float a , b , c , delta, x1, x2, x;
- int poczatek, koniec, interwal, i;
- struct sygnal pierwszy;
- float *tablica;
- int ilosc_rekordow;
- int as;
- char FileName [M];
- printf ("Podaj 3 wspolczynniki rownania kwadratowego w postaci ax^2 + bx + c = 0\n");
- printf ("a = ");
- scanf ("%f",&a);
- printf ("b = ");
- scanf ("%f",&b);
- printf ("c = ");
- scanf ("%f",&c);
- delta = (b*b) - 4*a*c;
- printf ("delta = %f\n", delta);
- if (delta == 0)
- {
- x1=-b/2*a;
- printf ("Rownanie ma jedno rozwiazanie.\nx = %f\n", x1);
- }
- else if (delta>0)
- {
- x1=(-b-sqrt(delta))/2*a;
- x2=(-b+sqrt(delta))/2*a;
- printf ("Rownanie ma dwa rozwiazania.\nx1 = %f\nx2 = %f\n", x1, x2);
- }
- else if (delta<0)
- printf("Rownanie nie ma rozwiazan\n\n");
- printf("Masz funkcje w postaci f(x) = %gx^2 + %gx + %g\n",a,b,c);
- printf("Podaj poczatek przedzialu\nx = ");
- scanf("%f", &pierwszy.poczatek);
- printf("Podaj koniec przedzialu\nx = ");
- scanf("%f", &pierwszy.koniec);
- printf("Podaj interwal\nx = ");
- scanf("%f", &pierwszy.interwal);
- if (pierwszy.interwal < 0)
- {
- printf("Podales interwal < 0, biore jego modul\n");
- pierwszy.interwal=-pierwszy.interwal;
- }
- if (pierwszy.interwal ==0)
- {
- printf("\nCos nie bangla...\n");
- system("pause");
- return 1;
- }
- ilosc_rekordow =(int) (pierwszy.koniec - pierwszy.poczatek)/pierwszy.interwal + 0.4999;
- pierwszy.tablica = (float*)malloc(ilosc_rekordow * sizeof(float));
- FILE *f;
- printf("Podaj nazwe pliku: ");
- for(i=0; i<M; i++)
- FileName[i]=0;
- scanf ("%s", FileName);
- for(i=0; FileName[i]!=0; i++)
- as=i;
- FileName[as+1]='.';
- FileName[as+2]='c';
- FileName[as+3]='s';
- FileName[as+4]='v';
- f=fopen(FileName,"w");
- x = pierwszy.poczatek;
- for (i = 0; i <=ilosc_rekordow; i++)
- {
- pierwszy.tablica[i]=a*x*x +b*x +c;
- printf("x = %g\ty = %g\n",x , pierwszy.tablica[i]);
- fprintf(f,"%g , %f \n", x ,pierwszy.tablica[i]);
- x = x + pierwszy.interwal;
- }
- fclose(f);
- free (pierwszy.tablica);
- system("pause");
- return 0;
- };
- //makaron z 2:32
Add Comment
Please, Sign In to add comment