Advertisement
HappyButter

Untitled

May 13th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. 1.
  2.  
  3. ( 5 ) W programie mamy zdefiniowane następujące funkcje :
  4.  
  5.  
  6. double fun0(double x) { return log(x); }
  7. double fun1(double x) { return x*x; }
  8. double fun2(double x) { return sin(x); }
  9. double fun3(double x) { return cos(x); }
  10. tablicę stringów:
  11.  
  12. name[]={"log", "pow","sin","cos"};
  13. tablicę wskaźników do funkcji:
  14.  
  15. TAB_FUN[]={fun0, fun1, fun2, fun3};
  16. tablicę liczb:
  17.  
  18. double data[8] = { 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0 };
  19. Proszę skonstruować strukturę struct fun do przechowywania wskaźnika do funkcji oraz nazwy odpowiadającej funkcji.
  20.  
  21. Proszę napisać funkcję fun_tab. Funkcja ma być wywołana w następujący sposób:
  22. fun_tab(TAB_FUN,name, var);
  23. i ma utworzyć var-elementową tablicę struktur struct fun, wartości mają pochodzić z argumentów funkcji
  24.  
  25. Proszę napisać funkcję
  26. fun_prn(struct fun*, int len_fun, double*, int len_d);
  27. wypisującą wartości funkcji dla podanej liczby. Wykorzystując funkcję struct fun proszę wypisać wartości funkcji dla danych z tablicy data w formacie:
  28. nazwa_funkcji(argument) = warość
  29.  
  30. Proszę napisać i przetestować funkcję
  31. fun_find(struct fun*, int len_fun, double);
  32. która dla podanego argumentu typu double zwróci nazwę funkcji, która ma największą wartość
  33.  
  34. Proszę posortować i wypisać tablicę struktur używając funkcji qsort rosnąco według wartości funkcji dla 1.5
  35. 2.
  36.  
  37. Proszę utworzyć tablicę liczb typu double o rozmiarze podanym przez użytkownika i wypełnić ją dowolnymi liczbami.
  38.  
  39.  
  40. ( 1 ) Proszę zapisać wartości z tablicy do pliku tekstowego oraz do pliku binarnego - nazwy plików mają być podane jako argumenty wywołania programu
  41. ( 1 ) Proszę określić długość obu plików
  42. ( 1 ) Proszę utworzyć dwie nowe tablice na podstawie zawartości utworzonych plików - zakładamy, że o zawartości plików wiemy jedynie to, że są tam liczby typu double, ale nie wiemy ile ich jest.
  43. Proszę wypisać zawartość nowych tablic
  44. ( 2 ) Proszę ponownie otworzyć plik binarny i wszystkim elementom o indeksach podzielnych przez 5 nadać wartość 0 (funkcja fseek), a następnie ponownie wypisać zawartość pliku.
  45. 3.
  46.  
  47. ( 3 ) Proszę napisać i przetestować procedury:
  48.  
  49. void file_copy (FILE *, FILE *); - kopiowanie plików
  50. int file_cmp (char *, char *); - porównywanie plików
  51. void file_cat (char *, char *); - łączenie-dopisywanie plików
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement