Guest User

Untitled

a guest
Jan 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. # define M 500
  4. struct sygnal
  5. {
  6. float poczatek;
  7. float interwal;
  8. float koniec;
  9. float *tablica;
  10. };
  11.  
  12. int main()
  13. {
  14. float a , b , c , delta, x1, x2, x;
  15. int poczatek, koniec, interwal, i;
  16. struct sygnal pierwszy;
  17. float *tablica;
  18. int ilosc_rekordow;
  19. int as;
  20. char FileName [M];
  21. printf ("Podaj 3 wspolczynniki rownania kwadratowego w postaci ax^2 + bx + c = 0\n");
  22. printf ("a = ");
  23. scanf ("%f",&a);
  24. printf ("b = ");
  25. scanf ("%f",&b);
  26. printf ("c = ");
  27. scanf ("%f",&c);
  28. delta = (b*b) - 4*a*c;
  29. printf ("delta = %f\n", delta);
  30. if (delta == 0)
  31. {
  32. x1=-b/2*a;
  33. printf ("Rownanie ma jedno rozwiazanie.\nx = %f\n", x1);
  34. }
  35. else if (delta>0)
  36. {
  37. x1=(-b-sqrt(delta))/2*a;
  38. x2=(-b+sqrt(delta))/2*a;
  39. printf ("Rownanie ma dwa rozwiazania.\nx1 = %f\nx2 = %f\n", x1, x2);
  40. }
  41. else if (delta<0)
  42. printf("Rownanie nie ma rozwiazan\n\n");
  43. printf("Masz funkcje w postaci f(x) = %gx^2 + %gx + %g\n",a,b,c);
  44. printf("Podaj poczatek przedzialu\nx = ");
  45. scanf("%f", &pierwszy.poczatek);
  46. printf("Podaj koniec przedzialu\nx = ");
  47. scanf("%f", &pierwszy.koniec);
  48. printf("Podaj interwal\nx = ");
  49. scanf("%f", &pierwszy.interwal);
  50. if (pierwszy.interwal < 0)
  51. {
  52. printf("Podales interwal < 0, biore jego modul\n");
  53. pierwszy.interwal=-pierwszy.interwal;
  54. }
  55. if (pierwszy.interwal ==0)
  56. {
  57. printf("\nCos nie bangla...\n");
  58. system("pause");
  59. return 1;
  60.  
  61. }
  62. ilosc_rekordow =(int) (pierwszy.koniec - pierwszy.poczatek)/pierwszy.interwal + 0.4999;
  63. pierwszy.tablica = (float*)malloc(ilosc_rekordow * sizeof(float));
  64. FILE *f;
  65. printf("Podaj nazwe pliku: ");
  66. for(i=0; i<M; i++)
  67. FileName[i]=0;
  68. scanf ("%s", FileName);
  69. for(i=0; FileName[i]!=0; i++)
  70. as=i;
  71. FileName[as+1]='.';
  72. FileName[as+2]='c';
  73. FileName[as+3]='s';
  74. FileName[as+4]='v';
  75. f=fopen(FileName,"w");
  76. x = pierwszy.poczatek;
  77. for (i = 0; i <=ilosc_rekordow; i++)
  78. {
  79. pierwszy.tablica[i]=a*x*x +b*x +c;
  80. printf("x = %g\ty = %g\n",x , pierwszy.tablica[i]);
  81. fprintf(f,"%g ; %g \n", x ,pierwszy.tablica[i]);
  82. x = x + pierwszy.interwal;
  83. }
  84. fclose(f);
  85. free (pierwszy.tablica);
  86. system("pause");
  87. return 0;
  88. };
  89.  
  90.  
  91.  
  92.  
  93. //makaron z 2:46
Add Comment
Please, Sign In to add comment