D/Ćwiczenia dla zaawansowanych
Wygląd
< D
Łatwe
[edytuj]- Podaj liczbę typu int odpowiadającą 4-znakowemu ciągowi "D>C!". (unia char[4] i int)
- Napisz funkcje cudo, która przyjmując parametr typu int zwróci jego przeciwność a typu float - odwrotność.
- Podaj średnią adresów komórek w 101-elementowej tablicy char[101], zrealizuj to w czasie O(n), nie używaj pętli.
- Zaprojektuj strukturę Uczeń przechowującą imię, nazwisko, numer z dziennika i (dynamicznie) oceny.
Średnie
[edytuj]- Zaimplementuj w C(++) funkcję liczącą sumę liczb trójkątnych od T(x) do T(y), wiedząc że 1 <= x < y <= 1000 i przetestuj ją w kodzie napisanym w D.
- Skompiluj kod z powyższego podpunktu używając Makefile (co najmniej 3 reguły).
Trudne
[edytuj]- Zaimplementuj w C(++) funkcje D_malloc (przyjmującą parametr typu ulong, alokującą odpowiednią ilość bajtów i zwracającą wskaźnik na nowo powstałą tablicę) oraz D_free (przyjmującą parametr typu char* wskazujący na uprzednio zaalokowaną tablicę i ją usuwającą). Wykorzystaj to do napisania względnie wydajnej, dynamicznej tablicy typu ulong w D. (w stylu std::vector<unsigned long> z C++)
- Narysuj w konsoli wykres funkcji sin(x). Nie musi zawierać skali, ale sinusoida ma być dobrze widoczna (tzn. przypominać sinusoidę).