Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.93 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdlib.h>
  3. #include<stdio.h>
  4. #include<math.h>
  5.  
  6.  
  7. void dziedzina(double *dmin, double *dmax) //funkcja wczytująca zakres dziedziny
  8. // ^nie muszę używać instrukcji if, ponieważ dziedziną jest zbiór liczb rzeczywistych^
  9. {
  10.     printf("Ustal dziedzine funkcji:\npodaj wartosc minimalna dziedziny:\n");
  11.     scanf("%lf", dmin); // nie ma $, bo elementy już docelowo są adresami
  12.     printf("podaj wartosc maksymalna dziedziny:\n");
  13.     scanf("%lf", dmax);
  14.  
  15. }
  16. void wczytaj_param(double param[3]) //funkcja wczytująca parametry, definicję wielkości tablicy dodałem sobie sam - potrzebuję 3 parametrów funkcji
  17. {
  18.     printf("podaj wartosc parametru a:\n");
  19.     scanf("%lf", param); //do pierwszego elementu; nazwa tablicy jest wskaźnikiem na pierwszy element
  20.     printf("podaj wartosc parametru b:\n");
  21.     scanf("%lf", param+1); //do drugiego elementu, adres komórki pierwszej +1
  22.     printf("podaj wartosc parametru b:\n");
  23.     scanf("%lf", param+2);
  24.  
  25. }
  26. /*void wczytaj_param(double param[])
  27. {
  28.     scanf("...", $(param[0})); //do pierwszego elementu
  29. scanf("...", $(param[1]); //do drugiego elementu
  30. }*/
  31.  
  32. void generuj(double *param, double dmin, double dmax, double wyniki[], int *wielkosc) // nie mają p z przodu, bo nie będą ich modyfikować tylko zczytywać; "wielkosc" okresla wielkosc tablicy
  33. // ^generuje funkcję^
  34. {
  35.     printf("ile wyników?\n");
  36.     scanf("%d", wielkosc);
  37.     int delta=(dmax-dmin)/(*wielkosc-1); // ustala na ile podzielic dziedzine, ile stworzyc próbek
  38.     float x=dmin;
  39.         for(int i=0;i<*wielkosc;i++)
  40.         {
  41.         wyniki[i]=param[0]*sin(param[1]*x+param[2]);
  42.         x+=delta; //x=x+delta
  43.         }
  44. }
  45.  
  46. int main(int argc, char*argv[])
  47. {
  48.     int *wielkosc;
  49.     double *dmax;
  50.     double *dmin;
  51.     double param[3];
  52.     double wyniki[];
  53.  
  54. printf("Obliczanie wartosci funkcji a*sin(bx+c)\n\n");
  55. dziedzina();
  56. wczytaj_param();
  57. generuj();
  58. for(int i=0;i<*wielkosc;i++)
  59. {
  60.     printf("%lf ", wyniki[i]);
  61. }
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement