Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.
- ( 5 ) W programie mamy zdefiniowane następujące funkcje :
- double fun0(double x) { return log(x); }
- double fun1(double x) { return x*x; }
- double fun2(double x) { return sin(x); }
- double fun3(double x) { return cos(x); }
- tablicę stringów:
- name[]={"log", "pow","sin","cos"};
- tablicę wskaźników do funkcji:
- TAB_FUN[]={fun0, fun1, fun2, fun3};
- tablicę liczb:
- double data[8] = { 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0 };
- Proszę skonstruować strukturę struct fun do przechowywania wskaźnika do funkcji oraz nazwy odpowiadającej funkcji.
- Proszę napisać funkcję fun_tab. Funkcja ma być wywołana w następujący sposób:
- fun_tab(TAB_FUN,name, var);
- i ma utworzyć var-elementową tablicę struktur struct fun, wartości mają pochodzić z argumentów funkcji
- Proszę napisać funkcję
- fun_prn(struct fun*, int len_fun, double*, int len_d);
- 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:
- nazwa_funkcji(argument) = warość
- Proszę napisać i przetestować funkcję
- fun_find(struct fun*, int len_fun, double);
- która dla podanego argumentu typu double zwróci nazwę funkcji, która ma największą wartość
- Proszę posortować i wypisać tablicę struktur używając funkcji qsort rosnąco według wartości funkcji dla 1.5
- 2.
- Proszę utworzyć tablicę liczb typu double o rozmiarze podanym przez użytkownika i wypełnić ją dowolnymi liczbami.
- ( 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
- ( 1 ) Proszę określić długość obu plików
- ( 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.
- Proszę wypisać zawartość nowych tablic
- ( 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.
- 3.
- ( 3 ) Proszę napisać i przetestować procedury:
- void file_copy (FILE *, FILE *); - kopiowanie plików
- int file_cmp (char *, char *); - porównywanie plików
- void file_cat (char *, char *); - łączenie-dopisywanie plików
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement