Guest User

Untitled

a guest
Jan 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. # define M 50
  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. x = pierwszy.poczatek;
  65. for (i = 0; i <=ilosc_rekordow; i++)
  66. {
  67. pierwszy.tablica[i]=a*x*x +b*x +c;
  68. printf("x = %g\ty = %g\n",x , pierwszy.tablica[i]);
  69. x = x + pierwszy.interwal;
  70. }
  71. FILE *f;
  72. printf("Podaj nazwe pliku: ");
  73. for(i=0; i<M; i++)
  74. FileName[i]=0;
  75. scanf ("%s", FileName);
  76. for(i=0; FileName[i]!=0; i++)
  77. as=i;
  78. FileName[as+1]='.';
  79. FileName[as+2]='t';
  80. FileName[as+3]='x';
  81. FileName[as+4]='t';
  82. f=fopen(FileName,"w");
  83. x = pierwszy.poczatek;
  84. for(i=0;i<=ilosc_rekordow;i++)
  85. {
  86. fprintf(f,"%g , %f \n", x ,pierwszy.tablica[i]);
  87. x = x + pierwszy.interwal;
  88. }
  89. fclose(f);
  90. free (pierwszy.tablica);
  91. system("pause");
  92. return 0;
  93. };
  94.  
  95.  
  96.  
  97.  
  98. //makaron z 2:32
Add Comment
Please, Sign In to add comment